我一直在到处找,但找不到以下情况有清楚的解决方案:Tomcat的背后Apache和SSL
我们有一个Web应用程序(Grails的+春季安全),它在Tomcat中运行,后面的Apache。 应用程序的第部分需要在https上运行,因此使用Spring Security Channel Security时,无论您何时导航到安全的应用程序的一部分,Spring都会使用302状态代码将您重定向到https。
现在,tomcat设置为了解https和证书,因此它知道如何处理ssl。事实上,当直接通过url和port直接访问apache来直接访问apache时,一切正常。
现在的问题出现在将Apache放在tomcat之前。目前我们拥有的apache配置对应用程序的非安全部分工作正常。我们使用mod_jk来代理apache和tomcat。
然而,一旦你尝试去应用程序的安全部分,Spring会重定向你,它会打Apache的配置的
<VirtualHost _default_:443> ... </VirtualHost>
一部分......这是在哪里问题开始。
从我读到的,可以通过mod_jk将apache传递给tomcat。但我们似乎无法得到正确的配置。由于tomcat已经为ssl设置,它知道证书的位置,并且Spring Security被设置,所以我们希望tomcat处理所有的ssl,而apache仅仅是将它转换为tomcat。
这是可能的,还是我错过了什么?有没有人有明确的指示如何设置?任何帮助将不胜感激。
我们使用Apache 2.2和把tomat 7.0.27
感谢
我同意。特别是关于mod_proxy_ *点。我们使用Apache处理我们的SSL,然后使用mod_proxy_http将请求转发给Tomcat。很棒。和超级简单的配置。 – Gregg 2012-04-06 18:48:27