【发布时间】:2015-02-14 22:28:02
【问题描述】:
我有一个 Java EE Web 应用程序一直在 HTTP 模式下运行,除了我们在 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 的正常行为还是我们应用程序中的配置问题?
【问题讨论】:
-
https是如何实现/配置的?
-
我不知道你需要什么样的信息。对于 WebLogic 服务器,我们前面有一个 Apache HTTP 服务器。
-
对于WebLogic服务器,我们前面有一个Apache HTTP Server。
ServerAdmin admin@admin.com ServerName RECETTE ErrorLog "logs/recette-ssl- error_log" CustomLog "logs/recette-ssl-access_log" common -
这可能是您的 apache 配置的问题。
标签: redirect ssl struts2 struts