站点临时要回退到 HTTP 调试,浏览器却强制跳转,清缓存也没用。乍看像缓存或者权限的锅,追下去往往不是。

Strict-Transport-Security: max-age=31536000
# 撤销过渡
Strict-Transport-Security: max-age=0

追下去是这么回事:之前下发的 HSTS 策略被浏览器缓存,在有效期内强制使用 HTTPS。

「HSTS 撤销」相关的验证我通常做两遍,改完一次、隔天再看一次,确认不是临时生效。接口问题先分清是没发出去、发出去了没收到,还是收到了处理失败。

偶发问题先统计频率,一小时几次和一天一次,查法完全不同。改完顺手把文档补一句,省得下次自己重新推一遍。

监控和日志的时间要对上,时区不一致会多绕很大一圈。临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。

动手前把原文件复制一份带时间戳,出问题立刻换回去,比现场分析快得多。

具体做法是,先恢复 HTTPS 服务;把最大存活时间调为零并保留一段时间;确认客户端重新获取后再调整。

验收就看一点,客户端缓存过期后按新策略执行,可正常访问对应协议。

作者 9823189