使用Apache2 SSL的SpringWebflow2前端生成http URL而不是https

使用Apache2 SSL的SpringWebflow2前端生成http URL而不是https,apache2,tomcat7,spring-webflow,Apache2,Tomcat7,Spring Webflow,我有Apache2 SSL,它是Spring webapp的前端,如下所示: ProxyPass/ ProxyPassReverse/ 一切都很好。。。我是说所有链接。。。都是正确的,并且通常webapp可以工作,因此问题不在于应用程序或SSL 除了启动/取消webflows之外:它们生成http URL而不是https:// 我在这里找到了一个话题: forum.springsource.org/showthread.php?70730-Webflow-2-0-and-reverse-prox

我有Apache2 SSL,它是Spring webapp的前端,如下所示:

ProxyPass/

ProxyPassReverse/

一切都很好。。。我是说所有链接。。。都是正确的,并且通常webapp可以工作,因此问题不在于应用程序或SSL

除了启动/取消webflows之外:它们生成http URL而不是https://

我在这里找到了一个话题:

forum.springsource.org/showthread.php?70730-Webflow-2-0-and-reverse-proxy

他们说这不是SpringWebFlow的问题


这种情况下的解决方法是什么?

如果所有对Tomcat连接器的请求都是通过在httpd端接的SSL接收的,那么您可以向连接器添加以下内容:

scheme="https" secure="true"
这告诉Tomcat将连接视为通过直接到Tomcat的SSL连接接收。这在通过http代理时是必需的,因为http中没有将SSL信息传递给Tomcat的机制。有很多方法可以通过http头传递这些信息。看看Tomcat中的SSLValve文档


或者,使用AJP也可以,因为AJP将SSL信息从httpd传递给Tomcat。

好的,解决方法是用AJP替换HTTP代理,如下所示:至少,问题在那之后就解决了。。。ProxyPass/ajp://localhost:8009/ ProxyPassReverse/ajp://localhost:8009/ :