【问题标题】:Redirect http to https in Java EE在 Java EE 中将 http 重定向到 https
【发布时间】:2009-02-10 08:24:14
【问题描述】:

如何在 Sun Application Server / Web Server 中将 http 重定向到 https?

【问题讨论】:

    标签: java jakarta-ee web-container


    【解决方案1】:

    如果您在web.xml 中将transport-guarantee 元素设置为CONFIDENTIALINTEGRAL,servlet 容器应自动将用户重定向到 HTTPS 侦听器,如下所示:

    <security-constraint>
        <web-resource-collection>
            <web-resource-name>All</web-resource-name>
            <url-pattern>*</url-pattern>
        </web-resource-collection>
        <user-data-constraint>
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>
        </user-data-constraint>
    </security-constraint>
    

    url-pattern 元素内容应与您希望保护的路径匹配。因此,例如,如果您想保护/admin 下的所有内容,请将/admin/* 指定为您的url-pattern。这应该表现出以下行为:

    http://www.example.org/admin/login
    

    将重定向到

    https://www.example.org/admin/login
    

    有关更多信息,请查看 Servlet 2.5 规范 (JSR 154)。

    【讨论】:

    • 如果您有一个启用 JASPIC 的站点并且 validateRequest 检查您是否处于 SSL 模式,则上述内容在 Liberty 上不起作用。
    • 嗨,我已经使用了这个配置并且它工作正常。但问题是它的附加端口带有www 之类的 URL。 mydomain.com:8443 你知道如何通过实现 https 来删除它吗?
    【解决方案2】:

    一种可能的方法是使用 mod_rewrite

    我确定还有其他人。

    【讨论】:

      猜你喜欢
      • 2017-11-13
      • 1970-01-01
      • 1970-01-01
      • 2012-06-29
      • 2015-03-11
      • 2018-12-21
      • 2017-12-13
      • 2011-11-24
      • 1970-01-01
      相关资源
      最近更新 更多