我们的合规团队要求我将“includeSubDomains”添加到我们网站的 Strict-Transport-Security 标头中。因此,我将下面的条目(顶部的条目)添加到我们的 .NET 站点的 Web 配置中。但是当我这样做时,我看到另一个 Strict-Transport-Security 条目(下面的第二个)只有 max-age 和更大的值。
Strict-Transport-Security:
max-age=31536000; includeSubDomains
Strict-Transport-Security:
max-age=157680000
我的问题是:
我在谷歌上搜索了 dup headers,看看他们对此有何评论,但找不到有关我的特定情况或如何删除它的任何内容。 谢谢。
根据RFC 6797, 8.1,浏览器必须仅处理第一个标头:
如果UA在HTTP响应中收到多个STS头字段 消息通过安全传输,那么 UA 必须仅处理第一个 这样的头字段。
第二个标题可以设置在不同的级别。在 IIS 管理器中,检查是否在服务器级别配置了“HTTP 响应标头”模块。
如果它不在 IIS 配置中,则可以通过某些中间件、自定义代码或安全软件添加它。检查您的应用程序代码是否设置了任何显式标头。
一旦确定第二个标头的来源,您可以修改配置或代码以将其删除或调整其设置。
我也有同样的问题。将 Plesk 与 LiteSpeed Web 服务器结合使用。 我在 .htaccess 配置了以下内容:
Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" env=HTTPS
但是在 securityheaders.com 上运行时它会返回以下内容:
strict-transport-security max-age=15768000; includeSubDomains
不知道它在哪里定义或如何找到它。
请帮忙