FF为我的tomcat HTTPS抛出Strict-Transport-Security



我在Tomcat上有一个网络应用程序。我有一个用于测试 SSL 的自签名证书。我所做的每一个调用,(get,ajax,css和javascript导入)Firefox都会抛出:

Strict-Transport-Security: The connection to the site is untrustworthy, so the specified header was ignored.

现在我已经为我的网站添加了 FF 的例外,并且我的浏览器左上角有一个绿色的锁符号。我知道HSTS是什么,但我很确定我没有以任何方式设置它。在控制台中,我在响应标头中看到了这一点:

Strict-Transport-Security:"max-age=31536000 ; includeSubDomains"

那么为什么FF说我的网站不可信,这个标题是如何出现在我的响应中的,我如何让这个错误消失呢?

更新 我已将自签名证书安装到我的 jdk cacerts 文件中。 我可以使用 HttpsURLConnection 连接到站点,request.isSecure() 返回 true,request.getScheme() 返回 https,但 request.getProtocol() 返回 HTTP/1.1

在我的应用程序中,我想用https运行tomcat,因此我遵循了此链接中提到的步骤:Tomcat中的HTTPS。

请注意,它说要修改网络.xml,我刚刚从网络中删除了以下内容.xml:

<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>

Firefox中的警告消失了。

此外,在您的情况下,您可能需要添加以下配置:

<security-constraint>
    <web-resource-collection>
        <web-resource-name>unchecked</web-resource-name>
        <url-pattern>/static/*</url-pattern>
        <url-pattern>/webjars/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>NONE</transport-guarantee>
    </user-data-constraint>
</security-constraint>
<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>

在上述配置中,对于所有不需要安全约束的 url,您需要将它们添加到<transport-gurantee>NONE</transport-guarantee>中的<url-pattern>中。希望它对我有帮助。这是一个有用的链接:https://dzone.com/articles/understanding-web-security

相关内容

  • 没有找到相关文章

最新更新