Apache を実行する Linux ホストと IIS を実行する Windows ホストがあります。Linux ホストを指すドメインがあり、その要求を IIS にリレー (プロキシ) する必要があります。したがって、Apache に次の仮想ホスト定義があります (問題なく動作します)。
<VirtualHost 192.168.0.2:80>
ServerName www.acme.com
DocumentRoot /var/www/acme.com
RewriteEngine On
RewriteOptions Inherit
RewriteRule ^/(.*) http://win.acme.com/$1 [P]
</VirtualHost>
今、SSL サポートを追加したいと考えています。定義は次のようになります。
<VirtualHost 192.168.0.2:443>
ServerName www.acme.com
DocumentRoot /var/www/acme.com
GnuTLSEnable On
GnuTLSPriorities NORMAL:%COMPAT
GnuTLSCertificateFile /var/www/ssl/www.acme.com.crt
GnuTLSKeyFile /var/www/ssl/www.acme.com.key
RewriteEngine On
RewriteOptions Inherit
RewriteRule ^/(.*) https://win.acme.com/$1 [P]
</VirtualHost>
両方の Web サーバーに有効で信頼できる証明書がありhttps://win.acme.com
、アクセスするとすべて問題ありませんが、アクセスhttps://www.acme.com
すると 500 内部サーバー エラー メッセージが表示されます。エラー ログを確認すると、次のように表示されます。
[2011 年 7 月 20 日水曜日 08:35:34] [エラー] [クライアント 76.168.166.70] www.wileybits.com:80 に対して SSL プロキシが要求されましたが、有効になっていません [ヒント: SSLProxyEngine] [2011 年 7 月 20 日水曜日 08:35:34] [エラー] プロキシ: HTTPS: 74.166.186.70:443 の ssl サポートを有効にできませんでした (win.acme.com)
プロキシ リクエストが間違ったドメイン (wileybits) に対するものであるように見えることに注意してください...表示されるドメインは、私の Apache サーバーによってもホストされていますが、acme.com のログに表示される理由がわかりません (逆おそらくDNSルックアップ?)
いずれにせよ、私は何が欠けていますか?
前もって感謝します-ekkis
ps のホスト名とアドレスは、罪のない人を保護するために変更されています :)
* アップデート *
と:
RewriteRule ^/(.*) https://win.acme.com/$1 [R,L]
正常に動作しているように見えますが、もちろん、Windows のホスト名が表示されるようになり、これは私のシナリオでは受け入れられません。
私も試しました(mod_rewriteの代わりに):
ProxyRequests Off
ProxyPass / https://win.acme.com/
しかし、同じエラー