【问题标题】:Is security-constraint configuration for Tomcat mandatory?Tomcat 的安全约束配置是强制性的吗?
【发布时间】:2011-10-17 06:33:44
【问题描述】:

为了在 Tomcat 下做 SSL 配置测试,这都是强制性的吗?

下面这行取自website:

为了在我们的测试中这样做,取任何已经成功部署在Tomcat中的应用程序,首先通过http和https访问它,看看它是否工作正常。如果是,则打开该应用程序的 web.xml 并在 web-app 结束之前添加此 XML 片段,即 </web-app>:

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

此配置是否必须在 web.xml 文件中进行??

【问题讨论】:

  • 如果你想把它应用到所有东西上,该块可以进入${CATALINA_HOME}/conf/web.xml

标签: tomcat web.xml security-constraint


【解决方案1】:

不,没有必要。这意味着您的 Web 应用程序可通过 HTTPS 使用(不能通过 HTTP 使用)。

如果您省略 &lt;transport-guarantee&gt;CONFIDENTIAL&lt;/transport-guarantee&gt; 标记(或整个 &lt;security-constraint&gt;),您的应用程序将可通过 HTTP 和 HTTPS 访问。如果您的web.xml 包含&lt;transport-guarantee&gt;CONFIDENTIAL&lt;/transport-guarantee&gt;,如果您尝试使用 HTTP,Tomcat 会自动将请求重定向到 SSL 端口。

请注意,默认的 Tomcat 配置不启用 SSL 连接器,您必须手动启用它。 详情请查看SSL Configuration HOW-TO

【讨论】:

  • 端口号是否可能保持不变,只是重定向到https?
  • 我有 url pen.srv.co.uk:8082/pentaho/Home,它工作正常,但我想要的是,如果用户尝试实现非 https 版本的 url,他应该从同一端口 8082 上的 http 重定向到 https,是有可能吗?
  • @shzyincu:抱歉,我无法帮助您,我想您应该将其作为一个新问题提出。
【解决方案2】:

如果您仔细查看,blog 会进一步解释:

应用程序中的任何资源都只能通过 HTTPS 访问,无论是 Servlet 还是 JSP。术语CONFIDENTIAL 是告诉服务器使应用程序在SSL 上工作的术语。如果您想关闭此应用程序的SSL 模式,则只需打开不要删除片段。 只需将值设为NONE 而不是CONFIDENTIAL

【讨论】:

    猜你喜欢
    • 2010-11-08
    • 2018-03-22
    • 2014-09-23
    • 1970-01-01
    • 1970-01-01
    • 2016-03-05
    • 1970-01-01
    • 2015-10-16
    • 1970-01-01
    相关资源
    最近更新 更多