网站重复Strict-Transport-Security头:浏览器规则及移除方法咨询
HSTS头配置问题解答
1. 浏览器会遵循哪一条配置?
浏览器对多个HSTS头的处理逻辑是合并取最严格的有效规则:
- 会保留所有头中最大的
max-age值(这里是157680000); - 只要任意一个头包含
includeSubDomains参数,浏览器就会启用该规则。
最终生效的配置等价于 Strict-Transport-Security: max-age=157680000; includeSubDomains,你关注的includeSubDomains会被正常应用。
2. 如何移除第二条配置?它的来源是什么?
第二条HSTS头的常见来源及排查方法:
- IIS服务器全局配置:打开IIS管理器,点击服务器根节点(而非单个站点),进入「HTTP响应头」模块,检查是否有全局添加的HSTS配置,若有直接删除。
- .NET应用代码:搜索项目中的
Global.asax、中间件、过滤器等代码,查找是否通过Response.AddHeader、Response.AppendHeader或类似方法动态添加了HSTS头,找到后删除对应代码。 - IIS第三方模块/扩展:检查已安装的IIS模块(比如URL Rewrite、安全类扩展),部分模块会自动添加HSTS头,进入模块配置页面关闭或删除相关规则。
- web.config其他节点:除了
system.webServer/httpProtocol/customHeaders,还要检查子目录的web.config,或者rewrite规则里是否有添加HSTS头的操作,找到后移除对应配置。
找到来源后删除对应的配置即可消除重复的HSTS头。
内容的提问来源于stack exchange,提问作者ray805
相关产品推荐
相关产品推荐

