如何禁止FF、Chrome、Safari、Opera将localhost重定向至https
永久禁用localhost HTTPS自动重定向解决方案
绝大多数情况下该问题由浏览器的HSTS(HTTP严格传输安全)缓存、以及现代浏览器针对localhost的默认安全升级策略导致,以下是分场景的永久解决方法:
1. 通用前置排查(先确认非配置侧问题)
- 检查本地开发服务的配置,是否在框架层面开启了强制HTTPS跳转、或者设置了
Strict-Transport-Security响应头:如果服务端返回了该头,无论浏览器如何配置都会触发重定向,需要先在服务端移除该响应头,同时禁用框架的强制HTTPS功能,比如Node.js生态的express要删掉helmet的HSTS配置、vite/webpack-dev-server要把server.https设为false。 - 检查本地hosts文件,是否存在localhost相关的异常域名映射,排除恶意软件/代理工具修改hosts导致的跳转。
- 检查本地是否开启了全局HTTPS代理、VPN,部分代理工具会默认将HTTP请求升级为HTTPS。
2. 分浏览器永久禁用配置
Chrome/Edge(Chromium内核)
- 地址栏输入
chrome://net-internals/#hsts进入HSTS配置页 - 找到
Delete domain security policies模块,在Domain输入框填localhost,点击Delete清除现有HSTS缓存 - 地址栏输入
chrome://flags/#https-upgrades找到HTTPS Upgrades选项,设置为Disabled - 额外补充:如果仍有跳转,进入
chrome://settings/security,关闭「始终使用安全连接」选项,同时在「隐私和安全」->「站点设置」->「查看权限和存储的所有站点」,搜索localhost删除所有已保存的站点数据。
Firefox
- 地址栏输入
about:config进入配置页,接受风险提示 - 搜索
network.stricttransportsecurity.preloadlist设为false - 搜索
dom.security.https_first设为false - 搜索
dom.security.https_only_mode设为false - 清除HSTS缓存:进入「设置」->「隐私与安全」->「Cookie 和站点数据」->「管理数据」,搜索
localhost删除所有对应数据,重启浏览器即可。
Safari
- 先开启Safari开发菜单:顶部菜单栏「Safari浏览器」->「设置」->「高级」,勾选底部「在菜单栏中显示开发菜单」
- 点击顶部「开发」菜单,选择「清空缓存」
- 进入「开发」->「Experimental Features」,取消勾选
HTTPS First Mode - 完全退出Safari后重新打开即可。
Opera
- 地址栏输入
opera://net-internals/#hsts进入HSTS配置页 - 同Chromium内核操作,删除
localhost的HSTS安全策略 - 地址栏输入
opera://settings/security,关闭「始终使用安全连接」选项,同时删除localhost的所有站点存储数据,重启浏览器生效。
3. 永久生效兜底方案
如果上述操作后仍偶发跳转,可以通过修改浏览器启动参数强制禁止localhost的HTTPS升级:
- Chromium内核浏览器(Chrome/Edge/Opera)右键快捷方式,在「目标」栏末尾添加启动参数:
--unsafely-treat-insecure-origin-as-secure=http://localhost,保存后通过该快捷方式启动浏览器即可永久生效。
内容的提问来源于stack exchange,提问作者SVDelle
相关产品推荐
相关产品推荐

