HSTS

  • 2026.05.29 | youres | 9次围观
    HSTS max-age多久生效浏览器才记住?第一次访问和后续访问的完整时间线
    先说结论:浏览器什么时候开始"记住"HSTS? 很多教程只告诉你"配置HSTS",但没说清楚浏览器到底什么时候开始强制执行HTTPS。这里直接给结论: 浏览器在第一次收到Strict-Transport-Security响应头之后,就会立即将域名加入HSTS列表,不需要等待max-age秒。 max-age的含义是:记住这个策略的有效期有多长,而不是"多少秒之后才开始生效"。 举个例子:你配置max-age=31536000(一年),用户第一次访问你的HTTPS网站,响应...
  • 2026.05.27 | youres | 14次围观
    HSTS max-age设置为0会怎样?浏览器行为与撤销HSTS完整指南
    什么是HSTS max-age? HSTS(HTTP Strict Transport Security)通过Strict-Transport-Security响应头告诉浏览器:在未来一段时间内,这个域名只允许通过HTTPS访问。 其中max-age参数就是那个"一段时间",单位是秒。比如: [代码示例已省略,请参考正文] 意思是:接下来31536000秒(1年)内,浏览器都必须用HTTPS访问这个域名。 max-age设置为0到底会发生什么? 把max-age设置为0,本...
  • 2026.05.27 | youres | 10次围观
    HSTS max-age设置为0浏览器行为详解
    什么是HSTS max-ageHSTS max-age是浏览器缓存HTTPS强制策略的时间,单位为秒。max-age设置为0会怎样设置为0后浏览器会立即清除HSTS缓存,不再强制跳转HTTPS。注意事项撤销HSTS前应先降低max-age值,等待用户端缓存过期后再设置为0。...
  • 2026.05.27 | youres | 8次围观
    Nginx add_header always参数作用详解:为什么安全头在错误页面消失了?
    问题现象:安全头在错误页面消失了 很多人在 Nginx 里配置了 HSTS、X-Frame-Options 等安全响应头,用 curl 访问正常页面时一切正常,但一旦访问一个不存在的 URL,返回 404 时,这些安全头全部消失了。 这不是 Nginx 的 bug,而是 add_header 指令的默认行为。 add_header 的默认生效条件 Nginx 官方文档对 add_header 的说明里有一句话: Adds the specified field to a r...
  • 2026.05.27 | youres | 8次围观
    Nginx HSTS max-age测试值和正式值切换方案:从测试到上线的完整指南
    引言:为什么不能直接上31536000? HSTS(HTTP Strict Transport Security)的 max-age 参数决定了浏览器记住"只走HTTPS"指令的时间长度。很多教程一上来就让你设 max-age=31536000(一年),但这其实是个坑。 如果你配错了、或者证书部署有问题,用户一年内都无法访问你的HTTP版本——哪怕你后来修好了。所以正确的做法是两个阶段:先用小值测试,确认无误后再切换到正式值。 HSTS max-age 基础回顾 HSTS响...
  • 2026.05.27 | youres | 18次围观
    Nginx HSTS配置不生效解决方法:6个排查步骤让你的安全策略真正落地
    配好了 HSTS,响应头却迟迟不出现?很多人在 Nginx 上配置完 Strict-Transport-Security 之后,第一反应就是打开浏览器访问网站,结果一看响应头——什么都没有。本质上这不是什么疑难杂症,大多数时候问题出在几个容易忽略的地方。这篇文章把 HSTS 不生效的常见原因逐一梳理,并给出对应的解决方法。 HSTS 是什么,配置逻辑要先搞清楚 在说排查方法之前,先把 HSTS 的基本逻辑理清楚。Strict-Transport-Security 响应头告诉...
  • 2026.05.26 | youres | 12次围观
    Chrome HSTS preload列表更新周期详解:从提交到内置的完整时间线
    什么是HSTS preload列表 HSTS preload列表是一个硬编码在浏览器中的域名清单,由Google维护,内置在Chrome、Firefox、Safari等主流浏览器的源代码里。只要域名在这个列表里,浏览器会无条件强制HTTPS,即使用户手动输入http://或者点击HTTP链接,也会被自动升级为HTTPS。 这比普通的HSTS响应头更底层——它不需要第一次访问来获取响应头,从用户安装浏览器的那一刻起,你的域名就已经被"记死"为HTTPS-only。 Chrom...
  • 2026.05.26 | youres | 12次围观
    HSTS响应头缺少includeSubDomains修复:子域名安全漏洞彻底解决方案
    # HSTS响应头缺少includeSubDomains修复:子域名安全漏洞彻底解决方案 ## 前言 最近在给一个网站做安全响应头配置审计时,发现一个很典型的问题:主域名配置了HSTS,但缺少`includeSubDomains`指令。这个看似小小的遗漏,实际上给整个域名体系留下了一个不小的安全隐患。 今天这篇文章,就是把这个问题的来龙去脉讲清楚,顺便给出完整的修复方案。文章会覆盖Nginx、Apache、IIS等主流Web服务器的配置方法,以及如何验证修复是否生效。...
  • 2026.05.26 | youres | 13次围观
    HSTS preload列表提交后如何撤销?操作步骤与生效时间详解
    为什么需要撤销HSTS preload提交? HSTS preload列表一旦生效,浏览器会强制使用该域名的HTTPS连接。但在某些场景下,你可能需要撤销这个设置: 网站架构调整:计划将部分子域名改回HTTP(虽然不推荐) 证书管理变更:更换CA供应商,过渡期可能需要临时回退 误操作提交:不小心提交了不适合preload的域名 业务方向变化:网站不再提供HTTPS服务(极少情况) 无论原因如何,撤销HSTS preload是一个需要谨慎操作的过程,因为浏览器缓存更新需要时...
  • 2026.05.26 | youres | 14次围观
    Nginx HSTS max-age设置建议:分阶段配置方案与最佳实践
    配置 Nginx 的 HSTS 安全响应头时,max-age 参数是最核心的设置。它的值直接决定了浏览器记住"这个域名必须用 HTTPS"的时间长度。设得太短,防护效果有限;设得太长,一旦配置出错恢复成本高。新手经常卡在不知道该选哪个值,本文从官方推荐出发,给出分阶段的实操建议。 max-age 的基本概念 Strict-Transport-Security 响应头的标准格式如下: Strict-Transport-Security: max-age=过期秒数 max-ag...