Mod-Ssl
繞過 apache SSL 並改用 tomcat
我不希望我的客戶與 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 - 它們將作為通用代理工作。