通过https使用struts2重定向操作

通过https使用struts2重定向操作,https,struts2,Https,Struts2,我对struts2和通过https重定向操作有问题 基本上,我从https请求返回的重定向响应有一个不安全的位置(即。http://...) 这意味着浏览器从安全会话转到非安全会话 你知道这是什么原因吗 干杯 Stuart.默认情况下,Struts 2本身不支持SSL交换 如果您正在从HTTPS模式切换到HTTP模式,反之亦然,我的最佳选择是使用Struts2 ssl插件。 此插件将根据方法注释或您提供的配置进行切换 详情如下 问题不在Struts 2中,尽管Umesh发布的解决方案也会起作用

我对struts2和通过https重定向操作有问题

基本上,我从https请求返回的重定向响应有一个不安全的位置(即。http://...)

这意味着浏览器从安全会话转到非安全会话

你知道这是什么原因吗

干杯


Stuart.

默认情况下,Struts 2本身不支持SSL交换 如果您正在从HTTPS模式切换到HTTP模式,反之亦然,我的最佳选择是使用Struts2 ssl插件。 此插件将根据方法注释或您提供的配置进行切换

详情如下

问题不在Struts 2中,尽管Umesh发布的解决方案也会起作用

在我工作的环境中,SSL连接在到达Apache前端之前由负载平衡器终止。这意味着对Tomcat的AJP请求似乎是HTTP,Struts重定向操作响应中的重定向URL写为HTTP

我选择的解决方案是在tomcat的server.xml中为HTTPS连接编写一个单独的连接器,指定:

secure="true"
scheme="https"
proxyPort="443"

我不想使用struts切换到HTTPS,我只希望重定向响应保持原始请求的模式。@user1073338:这就是我要告诉你的,struts2没有任何内置机制来处理此类协议,重定向将由容器完成,而不是框架本身。你是对的,是tomcat容器将重定向URL重写为HTTP,因为SSL连接在到达tomcat之前已终止。:)因为处理安全/不安全连接是容器的工作,而不是框架本身。当不在@secure范围内时,此插件不会将https URL重定向回http。对此有任何修复或解决方法吗?