Возможно ли изменить обратные внешние веб-сайты?
Да, но со значительными минусами.
Примечание: когда я попробовал вашу конфигурацию, я получил SSL Proxy requested for [...] but not enabled [Hint: SSLProxyEngine]
в журналах, поэтому добавил SSLProxyEngine on
.
выпуск Хост
При выполнении HTTP/1.1 запрос на сервер, вы автоматически добавить имя хоста в запросе. Когда прокси их, у вас есть два possibilites:
[browser] --(Host: authtest.com)--> [apache proxy] --(Host: authtest.com)--> Google
или
[browser] --(Host: authtest.com)--> [apache proxy] --(Host: google.com)--> Google
Первый является то, что вы получаете с ProxyPreserveHost On
. Серверы Google не будут обрабатывать запросы для authtest.com
, вы должны удалить эту строку.
Даже во втором случае у вас могут быть проблемы. ProxyPassReverse
будет обрабатывать перенаправления, но только для данного домена: я во Франции, google.com перенаправляет меня в google.fr (другой домен), а обратный прокси не переписывает перенаправление.
Другая проблема - референт: если служба видит запросы на изображения/css/js, поступающие с другого веб-сайта, она может рассматривать ее как лининг полосы пропускания и блокировать их. Теперь вам нужно также переписать html ответа (mod_proxy_html поможет, но это не серебряная пуля).
Issue Path
В вашем примере, вы прокси <authtest> /Google в <Google> /. Как и выше, вам нужно переписать html: абсолютные ссылки/ресурсы не будут работать, если ваш сервер не добавит /google
всюду. То же самое относится к относительным ссылкам/ресурсам (но с более краткими случаями). Если вам принадлежит сервер backend, вы могли бы проверить URL-адреса в файлах html/css/js. Здесь, если URL-адрес динамически создается в браузере с помощью js, вы ничего не можете сделать.
Если вы можете прокси /
к /
(или /whatever
к /whatever
) вы сможете избежать много проблем здесь.
Большое спасибо за подробное описание.В моем проекте Iam proxy проходит несколько веб-мастеров, использующих одно и то же имя домена i.e authTest, но в разных местах, например/google to google.com и/fb, в facebook. Так что, когда у меня возникают проблемы. – user7044932