开了强制跳HTTPS之后想收回来,进预加载名单的门槛是什么

📅 2026-10-11 👁️ 0

开了强制跳 HTTPS 之后想收回来,进预加载名单的门槛是什么:按规范文档的口径只有两条硬条件,使用 preload 时 max-age 至少要设到 31536000,也就是一年以上,并且必须同时带上 includeSubDomains。卡点通常不在站内的 301 重定向配置,而在有没有把域名提交进浏览器的预加载名单——这两个条件在普通启用时是可选优化,一旦放进名单就变成入场条件,收回的难度也由此而来。

响应头和预加载名单管的不是同一批访客

Strict-Transport-Security 这个响应头只影响已经用 HTTPS 访问过站点的浏览器:它在有效期内记住「这个域名今后要走加密连接」。预加载名单则是另一套机制,域名被提交之后,浏览器在第一次访问前就已经知道要直接用 HTTPS,二者作用的人群与生效时机都不同。

因此「把响应头删掉」和「从名单里退出」是两件事。头可以随时撤,但它撤不掉浏览器已经记住的记录;名单侧的记录也不由站点当天的响应头单方面控制,不会因为某天不再下发 preload 就同步消失。这也是为什么很多站改完配置仍看到浏览器强制跳转。

想收回来时,为什么必须走一次加密请求

规范文档里有一句容易被忽略的说明:按设计,无法通过不安全的 HTTP 关闭 HSTS。要关闭就得把 max-age 设为 0,而这个值只有在浏览器发起一次安全请求并读到响应头之后才生效。

这就产生一个实际顺序问题。如果站点的证书已经到期或 HTTPS 服务被撤下,浏览器拿不到那份带 max-age=0 的响应,旧记录就只能等自然过期。换句话说,收回动作的前提是加密这一层仍然可用,先保证 HTTPS 能正常应答,再谈撤销。

进名单之前该确认的三件事

有效期至少一年意味着这一整年里所有子域都要能走加密连接,includeSubDomains 又把范围扩到每一个子域。上线前建议逐项确认:

  • 全站是否都能稳定提供加密连接,包括临时启用的测试子域与老活动页;
  • 证书自动续期是否已经落到部署层,一年窗口里不能靠人工记得去续;
  • 站内是否有依赖不安全连接的残留,跳过去之后这些引用会直接失败。

第三条在真实改版里最容易出问题。把混合内容清干净再考虑进名单,比进去之后再逐项排查要省力得多。

站内的配置该动哪一层

对以 Go 语言开发的内容管理系统来说,强制跳转与响应头的下发位置要分清楚。AnQiCMS 自身提供 301 重定向的管理能力,用于把旧地址指向新地址;而 Strict-Transport-Security 属于接入层响应头,通常在站点前面的网关或服务器配置里加。部署方式对这一层影响很直接:用宝塔面板或 LNMP 环境时改站点配置文件,用 Docker 镜像部署时改容器里那层服务器配置,程序默认监听的 8001 端口只是应用侧入口,头并不由这一层产生。

改完之后建议用一个干净的浏览器实例验证:先确认加密请求返回的头里 max-age 数值符合预期,再确认旧地址的 301 跳转仍然指向正确目标。

常见问题

问:只在头里去掉 preload 是不是就退出了名单? 答:不是。名单里的记录由提交方按自己的流程维护,站点撤掉头不会让记录自动消失,浏览器仍会在首次访问时强制走加密连接。

问:设 max-age=0 之后为什么还是跳? 答:该值要通过一次安全请求的响应头送达浏览器才生效。若此刻 HTTPS 已经不可用,浏览器读不到这条指令,只能等原记录过期。

问:只在主域开加密、子域还留在明文,可以进名单吗? 答:进名单要求带上子域范围,等于把所有子域一起纳入这一年的承诺。有子域还无法承载加密连接时,应当先解决这一层再决定是否提交。

相关文章

上传目录为什么要禁止类型嗅探,两类Web服务器的配置方式有什么差别

上传目录要单独加禁止类型嗅探的响应头,是因为浏览器默认会按内容推断类型,被上传的文件因此可能被当成脚本执行。禁止后浏览器只按声明的类型处理,脚本与样式类请求类型不匹配时会被直接阻止。本文对比 Apache 与 Nginx 在下发这条规则上的差别,并给出部署时的核对顺序。

2026-10-11

评分标准换了大版本,两条公告的严重度还能不能直接比

漏洞评分标准从 3.1 换到 4.0 之后,两条公告给出的分数不能简单横向比较。定性分档的区间在版本之间保持兼容,零到十分仍按四档划分,但评估范围不含经济损失。本文说明分数与分档是两层、跨版本比什么,并落到自家一次高危修复的跟进动作。

2026-10-11

安全公告的支持范围只列主程序,扩展出的问题算谁的

内容系统的安全公告支持范围常常只写主程序、框架和官方站点,第三方扩展的漏洞不在这一份清单里。Joomla 安全中心明确说明只为这几类提供支持。本文说明扩展类问题走哪条通道发布,以及站内的两道补位:入库前的内容审核与按角色的权限收口。

2026-10-11

SQL注入公告写明只影响一种数据库配置,其他站点能不能不排期

高危SQL注入公告写明只影响某一种数据库配置时,用其他引擎的站点确实不在直接命中范围,但排期不能只看这一行。公告里的评级、是否匿名可利用、受影响配置条件与按分支给出的修复版本是四个不同维度。本文说明这四点怎么读,以及升级前的备份与核对。

2026-10-11

页面因合规要求下架时返回 451,和直接给 404 有什么不一样

因合规要求下架的页面返回 451 还是 404,区别不在页面是否可达,而在状态码把不可用的原因写在了哪一层。本文说明 451 的语义边界、责任方说明该写在响应体还是链接里,以及下架页面在站点地图与内容审核流程中的处理方式。

2026-10-11

网页用不到的摄像头和定位能力,怎么在响应头里默认关掉

用 Permissions-Policy 响应头关掉页面用不到的摄像头、麦克风和定位能力,核心是指令的默认允许名单取值只有三种:星号、同源与空。本文说明这条头的生效范围、嵌套框架为什么必须同时出现在父页面名单里,以及 allow 属性只能收窄不能放宽的边界。

2026-10-11

大附件断点续传下载靠哪个请求头,服务端不支持时会返回什么

断点续传靠的是请求头里的 Range,配合响应头的 Accept-Ranges 判断支持情况。支持范围请求的服务器对有效区间返回 206,无效区间返回 416;不支持的服务器会直接忽略这个请求头并返回整份 200。本文说明判定方法、字节偏移写法与单段区间的额外好处。

2026-10-11

内容系统的安全版本一次修掉多项问题,报告方里出现 AI 研究机构,说明什么

一份内容系统的安全发布说明里,多项修复的报告方出现了 AI 研究机构与安全审计公司。这更像是漏洞发现环节的分工在变:辅助审计开始进入披露流程。本文按修复项拆开读这份公告,并给出站点跟进时要核对的三处。

2026-10-11