Я использую Apache для прозрачной пересылки URL-адреса на другой URL-адрес с помощью mod_proxy.
Чтобы проиллюстрировать, что я делаю, это мой файл конфигурации Apache:
<VirtualHost *:80>
ServerName myurl.mysite.com
SSLProxyEngine On
ProxyPass / http://www.whatismyip.com/
ProxyPassReverse / http://www.whatismyip.com/
</VirtualHost>
Я использую сайт whatismyip.com, потому что он, кажется, обнаруживает прокси, так что это хороший вариант для тестирования. SSLProxyEngine включен, потому что мой целевой сайт использует SSL (тот, что в ProxyPass директива).
С этой простой конфигурацией большинство вещей работает нормально. Но я не хочу, чтобы целевой сайт определял, что к нему обращаются через прокси. Конечный сайт должен «думать», что к нему напрямую обращается сервер Apache (прокси) и только он.
Зачем? По какой-то причине я не знаю, я могу получить доступ к сайту конечной точки, но не могу войти в систему, когда использую прокси. Конечная точка запускает устаревшее программное обеспечение, поэтому вносить изменения в нее нельзя.
Я полагаю, что конечная точка выполняет некоторую проверку, или, возможно, она использует какой-то параметр, который к этому приводит (прямой доступ не приводит к проблемам). Мое решение - сделать какой-то прозрачный доступ.