这是Apache + Tomcat之间的错误SSL连接吗?

时间:2014-08-12 07:05:56

标签: java apache tomcat ssl https

我正在查看本指南,使用SSL设置tomcat + apache:http://www.mulesoft.com/tcat/tomcat-ssl

在节下,"何时使用SSL与Tomcat"它说:

" ...换句话说,如果你使用网络服务器面对Tomcat并仅使用它作为 应用服务器或Tomcat servlet容器,在大多数情况下,您应该让Web服务器充当所有SSL请求的代理,并且#34;

由于我已经设置了使用SSL的网络服务器,我决定懒惰。我用默认设置安装了tomcat,并启动了它。在我的httpd.conf中,我将所有80个流量重定向到443,然后将proxypass和proxypassreverse重定向到ajp://hostname.com:8009。我重新启动了httpd,它出现了#34;通过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>

1 个答案:

答案 0 :(得分:0)

我认为您已经知道了,但您可以查看HTTPD&amp; Tomcat确认请求正在被代理。您应该在两个系统上都看到访问日志条目。

一些快速笔记......

  • 如评论中所述,您可以从Tomcat中删除HTTP连接器。但它不是必须的。有时为了测试目的而保持开放是很好的(即你可以直接点击服务器),或者你想在其上运行Manager应用程序。如果您确实保留它,特别是如果您使用它来运行Manager应用程序,您应该限制对它的访问。两种简单的方法是将HTTP连接器上的address属性设置为localhost或配置RemoteAddressFilter

  • 请记住,从HTTPD服务器到Tomcat的AJP连接未加密(SSL在HTTPD处终止),因此您需要确保流量永远不会通过不安全的网络(如Internet)。

  • 由于您已经在混合中使用了HTTPD,因此您也可以使用它来提供静态文件。如果将它们部署到文档根目录,则可以添加&#34; ProxyPass!&#34;指令将该路径排除在代理之外的Tomcat。这将在请求上提供稍微减少的延迟,因为HTTPD确实需要从Tomcat获取静态文件。