必须通过chrome内置hsts机制手动添加域名策略:在chrome://net-internals/#hsts中输入纯域名(如example.com)、勾选include subdomains和redirect to https、点击add,重启浏览器后http://访问将强制跳转https://。

当你需要让谷歌浏览器对特定网站(比如 company.com 或 api.example.com)在首次访问时就跳转到 HTTPS,而不是先走一次不安全的 HTTP 请求,就必须通过 Chrome 内置的 HSTS(HTTP 严格传输安全)机制手动添加域名策略。这一步直接写入浏览器本地缓存,无需服务器响应 HSTS 头,也不依赖首次访问记录。
手动添加域名到 Chrome HSTS 名单
这一步适用于你已确认该域名支持 HTTPS、且希望浏览器强制跳转(哪怕用户手输 http:// 也自动变 https://)的场景。
第一步:在 Chrome 地址栏输入 chrome://net-internals/#hsts → 按回车键打开 HSTS 管理页。
第二步:滚动到底部,在 “Add domain” 区域的 Domain 输入框中,填入目标域名,例如 example.com —— 注意:不能带 http://、https://、www. 前缀,也不能带端口号或路径,只填纯域名。
第三步:勾选 Include subdomains —— 如果你希望 mail.example.com、cdn.example.com 等所有子域名也强制跳转,必须勾选此项;漏选会导致部分子站仍走明文 HTTP,形成安全缺口。
第四步:勾选 Redirect to HTTPS —— 这个选项决定浏览器是否主动拦截 HTTP 请求并重定向,不勾选则仅记录策略但不执行跳转。
第五步:点击 Add 按钮。此时页面顶部的 “Query domain” 输入相同域名后,应显示 Found 并列出策略详情(含 includeSubdomains=true 和 max-age=10886400),说明已成功写入。
验证 HSTS 是否生效
方法一:关闭所有 Chrome 窗口(包括任务栏后台进程),重新启动浏览器 → 在地址栏输入 http://example.com(注意是 http:// 开头)→ 回车后地址栏应瞬间变为 https://example.com 并正常加载。
方法二:按 F12 打开开发者工具 → 切换到 Network 标签 → 刷新页面 → 查看首条请求的 Protocol 列,若显示 h2 或 http/1.1(右侧有锁图标),而非明文 http/1.1,说明已走 HTTPS 底层协议。
方法三:再次访问 chrome://net-internals/#hsts → 在 “Query domain” 输入框填入 same domain → 若返回 Found 且包含 includeSubdomains=true 和 redirect=true,即表示策略激活成功。
清除错误或过期的 HSTS 策略
如果你填错了域名、测试后想还原,或者切换了证书导致 HTTPS 不可用,必须先清除旧策略再重建。
在 chrome://net-internals/#hsts 页面中,找到 “Delete domain security policies” 区域 → 在 Domain 输入框填入要删除的域名(格式同添加时,如 example.com)→ 点击 Delete 按钮 → 页面无提示即表示删除成功。
注意:删除后必须重启 Chrome 才能彻底清空内存缓存,否则旧策略可能仍临时生效。











