> 技术文档 > Chrome/Edge中http被强转成https问题

Chrome/Edge中http被强转成https问题

原因:2023年11月1日,chrome发布HTTPS-Upgrades功能,在用户访问 http:// 的旧链接之后,会自动尝试跳转到通过加密的 https:// 协议,访问该网站。且探测到 https 服务存在也会自动改成 https。

一、临时方案

以下方案均可,都尝试过了

1、新建无痕窗口

2、清除浏览器所有cookie

3、删除特定域名的HSTS domain配置

输入地址:注意区分使用 chrome、Edge

chrome://net-internals/#hstsedge://net-internals/#hsts

打开Delete domain security policies,输入域名删除

注意:我这里测试需要删除当前域名以及对应的顶级域名才有效。比如zhanglei.nasfuns.fun得同时删除zhanglei.nasfuns.fun、nasfuns.fun

Chrome/Edge中http被强转成https问题

二、永久方案

1、注册表彻底禁用 HSTS(全局生效)

  • windows下
1、按下 `Win + R` 打开运行窗口,输入 `regedit` 进入注册表编辑器2、导航路径:`HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Google\\Chrome`3、右键右侧空白区域 → 新建 → **DWORD (32 位) 值** → 命名为 `HstsEnabled`4、双击该值 → 将数值数据改为 **0** → 确定5、重启 Chrome 后所有域名不再执行 HSTS 跳转
  • mac下
1、创建策略文件:Chrome:在路径 /Library/Managed Preferences/com.google.Chrome.plist 中添加策略配置Edge:在路径 /Library/Managed Preferences/com.microsoft.Edge.plist 中添加策略配置2、配置内容:HstsEnabled3、重启浏览器生效

2、禁用 HTTPS 自动升级(浏览器级配置)

  • 在地址栏输入
chrome://flags/#https-upgradesedge://flags/#edge-automatic-https
  • chrome将HTTPS Upgrades 选项设为 Disabled,edge将 Automatic HTTPS 选项从 Default 改为 Disabled

  • 右下角会提示你重启,点击即可生效