Ssl apache和tomcat之间内部通信的多种协议
在我们的应用程序中,Tomcat被认为是前后颠倒的,此外,我们还有apache,它作为反向代理将Tomcat服务器放在前面,并将请求重定向到适当的Tomcat实例 现在我们需要在apache proxy和tomcat之间为特定URL(登录等)建立HTTPS连接。Tomcat文档说,通过在Ssl apache和tomcat之间内部通信的多种协议,ssl,tomcat6,apache2.2,ajp,Ssl,Tomcat6,Apache2.2,Ajp,在我们的应用程序中,Tomcat被认为是前后颠倒的,此外,我们还有apache,它作为反向代理将Tomcat服务器放在前面,并将请求重定向到适当的Tomcat实例 现在我们需要在apache proxy和tomcat之间为特定URL(登录等)建立HTTPS连接。Tomcat文档说,通过在server.xmlconfig中添加可以实现这一点 为了在登录页面上设置https,使用AJP协议的现有配置已替换为以下配置: ProxyPass /app/login/ https://127.0.0.1:6
server.xml
config中添加
可以实现这一点
为了在登录页面上设置https,使用AJP协议的现有配置已替换为以下配置:
ProxyPass /app/login/ https://127.0.0.1:6666/app/login/
指定的所有其他URL如下所示:
ProxyPass /app/anyotherurl/ ajp://127.0.0.1:5555/app/anyotherurl/
通过下面的配置,我们希望登录页面的安全数据(登录/密码)将被加密,而所有其他页面将保持不变
在登录之后,apache应该使用普通的ajp协议,因为不再需要保护敏感信息。但在我们的例子中,实际情况并非如此,因为出于某种原因,apache将我们重定向到ProxyPass中指定的主机,即localhost。
这可能是因为我们的应用程序在tomcat上执行登录逻辑时有两个连续的重定向
我们已经尝试在虚拟主机中设置ProxyPreserveHost on
,以修复上述情况,但我们不确定它是否是安全选项,并且这个选项不会破坏其他页面,而且如果tomcat位于其他机器上,我们也不确定它将如何工作
最好了解其他解决方案,如何在内部将这些内容应用于特定页面。这只是一个示例地址吗?HTTPS到localhost似乎有点毫无意义。