Mod-Ssl

繞過 apache SSL 並改用 tomcat

  • December 31, 2015

我不希望我的客戶與 Apache Web 伺服器協商 SSL 連接,我希望他們使用它後面的 tomcat 伺服器來這樣做。我該怎麼做?

我目前的httpd.conf配置是:

Listen 443 https
SSLProxyEngine On
ProxyPass / https://localhost:8443/
ProxyPassReverse / https://localhost:8443/
<VirtualHost _default_:443>
 SSLProxyEngine On
 ProxyPass / https://localhost:8443/
 ProxyPassReverse / https://localhost:8443/
 SSLEngine On
 SSLProtocol all -SSLv2
 SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA
 SSLCertificateFile /etc/pki/tls/certs/localhost.crt
 SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
</VirtualHost>

它有效,但不是我想要的。似乎客戶端正在與 apache 協商,而 apache Web 伺服器正在與 tomcat 協商。(我看到的是 apache Web 伺服器自簽名證書)

我不認為你可以在tomcat前面用apache做你想做的事。如果您希望 tomcat 處理 ssl 協商,為什麼不使用 iptables 將 443 上的流量重定向到其埠(8443)?您可以使用以下規則來做到這一點(用您的乙太網介面替換 eth0):

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8443

如果您想/需要保留 apache,我認為您需要在 apache 中協商 ssl。作為替代方案,如果你想在你的 tomcat 應用程序前面有一些東西,你可以使用 haproxy 或 nginx - 它們將作為通用代理工作。

引用自:https://serverfault.com/questions/746137