【问题标题】:Struts 2 'redirectAction' changes protocol from HTTPS to HTTPStruts 2 'redirectAction' 将协议从 HTTPS 更改为 HTTP
【发布时间】: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


【解决方案1】:

正如@Aleksandr M 所说,Apache 服务器似乎存在问题。 当在 WebLogic 控制台中激活 SSL 并直接点击它时,我们就没有问题了。 在访问 apache 服务器时,我们遇到了问题。 似乎其他人也有这个问题:

【讨论】:

    猜你喜欢
    • 2021-12-14
    • 2013-09-13
    • 2011-12-27
    • 2014-05-22
    • 1970-01-01
    • 1970-01-01
    • 2012-03-18
    • 2012-09-23
    • 1970-01-01
    相关资源
    最近更新 更多