Назад | Перейти на главную страницу

Добавить хост с mod_proxy в Apache

У меня есть Apache2 с Mod_Proxy для доступа к бэкэнду (IIS с некоторыми веб-сайтами, все настроены с именем хоста на одном IP).

Я хочу добавить заголовок хоста для доступа к домену, используя IP-адрес прокси (не с именем хоста).

<VirtualHost MYPROXYIP>
        ProxyPreserveHost On
        ProxyRequests Off
        ProxyVia On
        ProxyTimeout 300
        <Proxy *>
        Allow from all
        </Proxy>
        ServerName www.mywebsite.com 

        ProxyPassReverse / http://MYBACKENDIP/
        ProxyPass / http://MYBACKENDIP/
</VirtualHost>

Теперь MYBACKENDIP нужно имя хоста. как мне пройти?

Если вы установите ProxyPreserveHost On, эта опция будет передавать строку Host: из входящего запроса на проксируемый хост вместо имени хоста, указанного в строке ProxyPass.

Итак, если вы хотите, чтобы ServerName www.mywebsite.com перенаправлялся на прокси, используйте «ProxyPreserveHost On». Если вы хотите установить другое имя хоста, удалите эту директиву, и будет использоваться имя хоста в директиве ProxyPass.

Решено с помощью

В / etc / hosts я добавляю реальный IP-адрес серверной части с DNS, настроенным на PROXYIP X.X.X.X DNSTOREACH

<VirtualHost PROXYIP>
        ProxyRequests Off
        ProxyVia On
        ProxyTimeout 300
        <Proxy *>
        Allow from all
        </Proxy>
        ServerName DNSTOREACH

        ProxyPassReverse / http://DNSTOREACH/
        ProxyPass / http://DNSTOREACH/
</VirtualHost>

Итак, PROXYIP имеет запись A и на прокси-сервере настроен в / etc / hosts с внутренним IP.