网站中重复严格传输安全

问题描述 投票:0回答:2

我们的合规团队要求我将“includeSubDomains”添加到我们网站的 Strict-Transport-Security 标头中。因此,我将下面的条目(顶部的条目)添加到我们的 .NET 站点的 Web 配置中。但是当我这样做时,我看到另一个 Strict-Transport-Security 条目(下面的第二个)只有 max-age 和更大的值。

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

Strict-Transport-Security:
max-age=157680000

我的问题是:

  1. 浏览器会遵循哪一个? (我希望是带有 includeSubDomains 的)
  2. 有办法删除第二个吗?它是如何设置的?我的网站托管在 IIS 10 中,我检查了 HTTP 标头配置,但没有看到第二个标头的设置位置,只设置了第一个标头。

我在谷歌上搜索了 dup headers,看看他们对此有何评论,但找不到有关我的特定情况或如何删除它的任何内容。 谢谢。

https http-headers iis-10
2个回答
0
投票

根据RFC 6797, 8.1,浏览器必须仅处理第一个标头:

如果UA在HTTP响应中收到多个STS头字段 消息通过安全传输,那么 UA 必须仅处理第一个 这样的头字段。

第二个标题可以设置在不同的级别。在 IIS 管理器中,检查是否在服务器级别配置了“HTTP 响应标头”模块。

如果它不在 IIS 配置中,则可以通过某些中间件、自定义代码或安全软件添加它。检查您的应用程序代码是否设置了任何显式标头。

一旦确定第二个标头的来源,您可以修改配置或代码以将其删除或调整其设置。


0
投票

我也有同样的问题。将 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

不知道它在哪里定义或如何找到它。

请帮忙

© www.soinside.com 2019 - 2024. All rights reserved.