
В настоящее время у меня установлен pfSense
брандмауэр, который перенаправляет порты 80 и 443 на внутренний Apache, который действует как обратный прокси-сервер для нескольких поддоменов нашей компании.
Поскольку pfSense
Squid3 предоставляет обратный прокси-сервер, я бы хотел избавиться от сервера Apache и pfSense
вместо этого маршрутизировать все через него.
Моя текущая конфигурация Apache выглядит примерно так:
<VirtualHost *:80 *:443>
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
ServerName trac.mycompany.com
SSLProxyEngine on
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
ProxyPreserveHost On
ProxyPass / https://trac.mycompany.com/
ProxyPassReverse / https://trac.mycompany.com/
ProxyVia on
</VirtualHost>
<VirtualHost *:80 *:443>
ServerName svn.mycompany.com
ProxyPass / http://svn.mycompany.com/
ProxyPassReverse / http://svn.mycompany.com/
ProxyVia On
</VirtualHost>
Как видите, оба варианта довольно просты. Я знаю, что использование виртуальных хостов с HTTPS и одним внешним IP-адресом ограничивает меня в использовании самоподписанных сертификатов, и я осознаю риски, но в данный момент мне все равно (я просто хочу, чтобы имена пользователей и пароли отправлялись в зашифрованном виде).
На pfSense
, я настроил его следующим образом:
Обратный прокси включен. Оба trac
и svn
работают на одном локальном сервере (192.168.0.26). Проблема в том, что когда прокси обращается к внутреннему серверу, локальный сервер Apache всегда пытается обслужить поддомен trac
, а не сопоставлять по имени.
Могу ли я сделать это с помощью модуля обратного прокси pfSense
? Я что-то очевидное здесь упускаю?
решение1
Я знаю, что это запоздалый ответ, но лучше поздно, чем никогда :) Вы, вероятно, уже разобрались, но если нет... создайте дополнительный IP-адрес на локальном сервере, работающем на той же сетевой карте, и запустите каждый веб-сайт на отдельном IP-адресе.
Я не думал, что вы когда-либо сможете обслуживать 2 https-сайта с одного IP-адреса и портов, поскольку заголовки теряются при шифровании, и вы всегда оказываетесь на основном сайте по умолчанию. 2 http-сайта — это нормально, но для 2 https-сайтов нужны разные порты или разные IP-адреса.