Apache Обратный прокси для настроенных пользователем http iFrames - PullRequest
0 голосов
/ 04 марта 2020

У меня есть веб-приложение, в котором пользователи могут указать собственный веб-сайт, который они размещают, для отображения в iFrame на странице.

Проблема в том, что мое веб-приложение работает в HTTPS, где в качестве веб-страниц пользователя в iFrames не имеют включенного SSL и находятся в http. Это приводит к тому, что их веб-страница блокируется для отображения предупреждения безопасности смешанного содержимого.

Моя идея состояла в том, чтобы настроить обратный прокси-сервер на моем Apache веб-сервере. Этот обратный прокси-сервер будет принимать что-то вроде https://example.com/reverse?theirsite=http: //example.com

Этот обратный прокси-сервер также должен работать для подключений через веб-сокет: wss: / / -> ws: // и https: // -> http: //

Это лучший способ go отобразить незащищенную веб-страницу пользователя в iFrame в моем веб-приложении?

<VirtualHost *:443>
        # Reverse proxy for iFrames
        # https -> http and wss -> ws
        # get the SITE querystring for the IP/Port
        ProxyPass /proxy {site}
        ProxyPassReverse /proxy {site}
</VirtualHost>

Apache потребуется взять пользовательскую строку запроса и направить ее на небезопасный сайт.

1 Ответ

0 голосов
/ 05 марта 2020
1001 * Является ли это лучший способ?

Если вы хотите, чтобы обеспечить путь для каждого на InTe rnet для серфинга для порно анонимно, нападать на другие веб-сайты и вообще делать плохие вещи тогда вы на месте. К сожалению, он не будет выполнять то, что вы намереваетесь.

Во-первых, вам понадобится логика приложения c, чтобы реализовать это - например, PHP, Python, Perl, Java ....

Тогда вам понадобится способ хранить сопоставления между URL-адресами вашего сайта и URL-адресов ваших пользователей.

Затем вы пишете некоторый код, который прослушивает URL-адрес iframe для перевода запроса с использованием карты. Когда он получит ответ от исходного сайта, ему потребуется перезаписать любые URL-адреса, которые будут перенаправлены на ваш сервер.

Как только вы все это сделаете, у вас будет что-то похоже, это работает, однако любой, у кого есть учетная запись пользователя, теперь может атаковать безопасность ваших сайтов через XSS. Так что на самом деле вам нужен выделенный виртуальный хост в вашем домене, чтобы контент каждого пользователя работал в своем собственном источнике.

Это не тривиально.

...