Java Spring安全性:需要HTTPS时重定向到其他主机
我有一个关于Spring安全HTTPS重定向策略的问题。 首先,配置:Java Spring安全性:需要HTTPS时重定向到其他主机,java,spring,web-applications,spring-security,mod-jk,Java,Spring,Web Applications,Spring Security,Mod Jk,我有一个关于Spring安全HTTPS重定向策略的问题。 首先,配置: Spring3JavaWeb应用程序 apache连接jk后的tomcat 春季安全3 使用客户端直接连接到tomcat的配置(即no jk),我看到https是通过如下配置security.xml文件使用安全端口重定向进行管理的: <http> <intercept-url pattern="/secure/**" access="ROLE_USER" requires-channel="https
<http>
<intercept-url pattern="/secure/**" access="ROLE_USER" requires-channel="https"/>
...
</http>
...
现在,这里有一个问题:在apache之后使用tomcat(使用jk),安全部分位于不同的主机上,因此我有以下内容
- http(非安全主机):www.myhost.com
- https(安全主机):ssl.myhost.com
<http>
...
<port-mappings>
<port-mapping http="9080" https="9443"/>
</port-mappings>
</http>
...
提前谢谢
PS.双重主机配置由托管服务强制实施。默认行为的实现是简单地重定向到具有https前缀的同一URI,这是在
RetryWithHttpsEntryPoint
中完成的,由SecureChannelProcessor
调用。通过编写自定义AbstractRetryEntryPoint
,不仅可以更改协议,还可以更改主机名,您可以轻松实现所需的行为
一旦实现了该类,根据javadoc中给出的示例,使用它配置
ChannelProcessingFilter
:是否成功实现了这样的重定向到不同主机?不幸的是,我不得不等待一些与我的活动无关的技术延迟。当SSL服务器准备就绪时,我将尝试您的解决方案,并告诉您它是否有效。