web-dev-qa-db-ja.com

pfSenseを使用したApacheリバースプロキシのSquid3への移行

現在、ポート80と443を社内のApacheにリダイレクトするpfSenseファイアウォールがあります。このファイアウォールは、当社のいくつかのサブドメインのリバースプロキシとして機能します。

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では、次のように構成しました。

enter image description here

enter image description here

リバースプロキシがオンになっています。 tracsvnの両方が同じローカルサーバー(192.168.0.26)で実行されます。問題は、プロキシが内部サーバーにヒットすると、ローカルサーバーApacheが名前で照合するのではなく、常にtracサブドメインを提供しようとすることです。

これは、pfSenseのリバースプロキシモジュールで実現できることですか?ここで明らかな何かが欠けていますか?

3
pgb

私はこれが遅い応答であることを知っていますが、決して遅くないよりはましです:)おそらく今までに自分自身を整理しましたが、そうでなかった場合は...同じNIC =そして各ウェブサイトを別々のIPで実行します。

ヘッダーが暗号化によって失われ、常にメインのデフォルトサイトに到達するため、同じIPアドレスとポートから2つのhttpsサイトを提供できるとは思いませんでした。 2つのhttpサイトは問題ありませんが、2つのhttpsサイトには異なるポートまたは異なるIPが必要です。

1
Kanemari