我有一臺運行Apache的Linux主機和一臺運行IIS的Windows主機。我有一個域指向Linux主機,需要將它的代理請求轉發給IIS;因此,我有阿帕奇以下虛擬主機定義(這只是正常):使用SSL代理
<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內部服務器錯誤消息。在錯誤日誌之一斑表明:
[週三7月20日8時35分34秒2011] [錯誤] [客戶76.168.166.70] SSL代理 請求www.wileybits.com:80但尚未啓用[提示: SSLProxyEngine] [週三7月20日8時35分34秒2011] [錯誤]代理:HTTPS: 未能啓用74.166.186.70:443支持SSL(win.acme.com)
做的通知代理請求似乎是針對錯誤的域(wileybits)...它顯示的域也由我的Apache服務器託管,但我不明白爲什麼它出現在acme.com的日誌中(反向DNS查找或許?)
無論如何,我缺少什麼?
在此先感謝 - ekkis
p.s.主機名和地址已經改變,以保護無辜者:)
*更新*
有:
RewriteRule ^/(.*) https://win.acme.com/$1 [R,L]
它似乎很好地工作,當然,Windows的主機變成可見,這是不是在我的情況下接受
我也試過(而不是mod_rewrite的):
ProxyRequests Off
ProxyPass/https://win.acme.com/
但同樣的錯誤
爲什麼我得到這個負呢? – ekkis