我有一个以HTTP模式运行的Java EE Web应用程序,除了我们使用HTTPS的身份验证。 我们现在需要一直使用HTTPS。
在测试时,我们发现Struts 2存在问题:“redirectAction”(在客户端生成302状态返回码)将协议从HTTPS更改为HTTP。
示例:
<struts>
<package name="suiviaffaire" namespace="/suiviaffaire" extends="webapp">
<action name="*" method="{1}" class="com.myAction">
<result name="consultRedirection" type="redirectAction">
<param name="actionName">consult?idAffaire=${idAffaire}</param>
<param name="parse">true</param>
<param name="encode">true</param>
</result>
<result name="consult">/jsp/suiviaffaire/consult.jsp</result>
网络捕获:
1) status 302 : https://localhost:8043/webapp/suiviaffaire/redirectionTypeAffaire.action?idAffaire=XXX
2) status 200 : http://localhost:8043/webapp/suiviaffaire/consult.action?idAffaire=XXX
我们在WebLogic 12c和WebSphere 7中进行了测试,我们遇到了同样的问题。 你知道这是Struts 2的正常行为还是我们app中的配置问题?
答案 0 :(得分:0)
正如@Aleksandr M所说,这似乎与Apache服务器有关。 在WebLogic控制台中激活SSL并直接点击它时,我们没有问题。 当命中apache服务器时,我们遇到了问题。 似乎其他人也有这个问题: