Миграция обратного прокси-сервера Apache на Squid3 с помощью pfSense

Миграция обратного прокси-сервера Apache на Squid3 с помощью pfSense

В настоящее время у меня установлен pfSenseбрандмауэр, который перенаправляет порты 80 и 443 на внутренний Apache, который действует как обратный прокси-сервер для нескольких поддоменов нашей компании.

Поскольку pfSenseSquid3 предоставляет обратный прокси-сервер, я бы хотел избавиться от сервера 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-адреса.

Связанный контент