【发布时间】:2014-10-05 03:49:48
【问题描述】:
我正在查看使用 SSL 设置 tomcat + apache 的指南:http://www.mulesoft.com/tcat/tomcat-ssl
在“何时将 SSL 与 Tomcat 一起使用”部分下它说:
"...换句话说,如果您在 Tomcat 前面使用 Web 服务器并且仅将其用作 应用服务器或 Tomcat servlet 容器,在大多数情况下,您应该让 Web 服务器充当所有 SSL 请求的代理”
由于我已经使用 SSL 设置了网络服务器,所以我决定偷懒。我用默认设置安装了tomcat,然后启动了它。在我的 httpd.conf 中,我将所有 80 个流量重定向到 443,然后将 proxypass 和 proxypassreverse 重定向到 ajp://hostname.com:8009。我重新启动了 httpd,它“似乎”通过 ssl 重定向到 tomcat 服务器。这是完全坏了还是我真的设法做我第一次打算做的事情?非常感谢任何测试建议。
<VirtualHost *:80>
ServerName hostname_DNS_alias.com
Redirect / https://hostname_DNS_alias.com
</VirtualHost>
<VirtualHost *:443>
SSLEngine On
SSLCertificateFile /etc/pki/tls/certs/thecrt.crt
SSLCertificateKeyFile /etc/pki/tls/private/thekey.key
SSLCertificateChainFile /etc/pki/tls/certs/CA.crt
ServerName hostname_DNS_alias.com
DocumentRoot /var/www/html
<Proxy *>
AddDefaultCharset off
Order deny,allow
Allow from all
</Proxy>
ProxyPass / ajp://hostname.com:8009/
ProxyPassReverse / ajp://hostname.com:8009/
</VirtualHost>
【问题讨论】:
-
看起来有效。确保从 Tomcat 的 server.xml 中删除 HTTPS 连接器和 HTTP 连接器。您现在只需要 AJP 连接器。
标签: java apache tomcat ssl https