飘在云端

东西南北,海角天涯

· 前端 · · 542次浏览

Chrome 清除 SSL 证书缓存

强调一遍,不是那个 HSTS 缓存,网上一堆答非所问

环境:Chrome v109 x64

我要迁移服务器上面的网站到另一台服务器上面

迁移服务器时,提前修改了原域名解析 IP 到新服务器,结果发现我没做好准备,有些东西设置没弄好,只好乖乖改回原服务器的解析 IP

此时准备妥当再次改解析记录到新服务器,主站访问直接持续报错

我大概知道是缓存问题,因为我直接无痕模式 Ctrl + Shift + N 访问迁移后的服务器上面站点,是正常的

我查询 HSTS 缓存是没有该域名的,跟这个也没关系,我也没设置 header 强制 HSTS

我不爽的是 Chrome 没有清除入口?非要重启浏览器或者 Ctrl + Shift + Delete 删除所有数据?

我现在知道肯定是缓存到了某个地方,内存?硬盘?

Ctrl + F5 或者 F12 开发者工具停用缓存无效

访问迁移后的站点始终报 404 错误,检查 控制台报错,没有明显数据,只有简单的 404 http 状态码

检查网络详情,再次 Ctrl + F5 强制刷新,发现谷歌似乎掐断了请求过程,没有数据,只有返回 header 404

此时怀疑是谷歌缓存了 DNS,因为感觉是秒返回 404 错误

检查谷歌缓存的 DNS 记录,发现没问题,解析 IP 为迁移后的服务器 IP,没有异常

chrome://net-internals/#dns

最后尝试删除该站点域名的所有数据,访问

chrome://settings/content/all

查找该域名,并清除该域名下的所有数据,再次访问,正常显示了

目前推测是 Chrome 主动将 SSL 证书跟域名解析后的 IP 缓存了,可能还做了对应关系,然后谷歌发现缓存的 IP 与证书不是之前的,直接返回 404?

我之前 F12 停用缓存 + 清除本地缓存 + Cookies 都没效果

评论 (0条)