【问题标题】:Force Tomcat to redirect to HTTPS without changing web.xml security constraints强制 Tomcat 在不更改 web.xml 安全约束的情况下重定向到 HTTPS
【发布时间】:2013-06-22 14:14:09
【问题描述】:

我已经知道如何配置 Tomcat 以将 HTTP 请求重定向到 HTTPS:

  1. 启用和配置 SSL 连接器
  2. 在非 SSL 连接器上设置正确的“redirectPort”属性
  3. 修改 web.xml 并将“transport-guarantee”设置为“CONFIDENTIAL”

我的问题是: 有没有办法不修改 web.xml 文件实现相同的结果?

我正在寻找一种无需更改部署为 WAR 文件的 Web 应用程序的解决方案。因此,添加 servlet 过滤器或在 Web 应用程序中实现重定向等更改不是一种选择。

感谢您的帮助!

斯蒂芬

【问题讨论】:

  • 您是否希望该 Tomcat 上的所有应用程序仅使用 HTTPS?如果是这样,您可以更改 server.xml 还是不可能?
  • @Darius X:在我的特殊情况下,我不在乎,因为我知道只有一个 webapp。但是拥有一个可以在每个 webapp 或每个主机基础上启用它的解决方案可能会对其他人有所帮助。

标签: tomcat ssl web.xml


【解决方案1】:

如果你不想修改应用的WAR文件,你也可以在服务器WEB.XML(/tomcat/conf/web.xml)中添加这个条目,并限制这个参数适用于哪些webapps?

【讨论】:

    【解决方案2】:

    考虑实现一个自定义的 Tomcat Valve 来进行重定向。 ValveBase 是一个好的开始。

    【讨论】:

    • 我有一个非常相似的想法。我已经实现了一个自定义Realm 扩展CombinedRealm。这允许我将我的领域包裹在现有领域中。通过覆盖方法“findSecurityConstraints”,我可以在运行时“修补”传输保证设置。它已经很好用了,我会在生产就绪后立即发布我的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-17
    • 1970-01-01
    • 2012-05-22
    • 1970-01-01
    相关资源
    最近更新 更多