現在、ポート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
では、次のように構成しました。
リバースプロキシがオンになっています。 trac
とsvn
の両方が同じローカルサーバー(192.168.0.26)で実行されます。問題は、プロキシが内部サーバーにヒットすると、ローカルサーバーApacheが名前で照合するのではなく、常にtrac
サブドメインを提供しようとすることです。
これは、pfSense
のリバースプロキシモジュールで実現できることですか?ここで明らかな何かが欠けていますか?
私はこれが遅い応答であることを知っていますが、決して遅くないよりはましです:)おそらく今までに自分自身を整理しましたが、そうでなかった場合は...同じNIC =そして各ウェブサイトを別々のIPで実行します。
ヘッダーが暗号化によって失われ、常にメインのデフォルトサイトに到達するため、同じIPアドレスとポートから2つのhttpsサイトを提供できるとは思いませんでした。 2つのhttpサイトは問題ありませんが、2つのhttpsサイトには異なるポートまたは異なるIPが必要です。