本地PHP+Apache2开发遇http转https问题,如何禁用Upgrade-Insecure-Requests?
解决Firefox和Chrome自动发送
Upgrade-Insecure-Requests头导致.dev站点跳转HTTPS的问题 我之前也碰到过一模一样的情况——自从.dev被ICANN正式收录为顶级域名后,主流浏览器都会默认强制HTTPS,再加上Upgrade-Insecure-Requests头的触发,直接把本地HTTP开发站点给"架空"了。下面是针对Firefox和Chrome的具体解决方法:
Firefox中禁用Upgrade-Insecure-Requests请求头
- 打开Firefox,在地址栏输入
about:config,点击「接受风险并继续」进入配置页面。 - 在搜索框里搜
network.http.upgrade-insecure-requests.enabled,双击这个配置项把值改成false,这样Firefox就不会再发送那个麻烦的请求头了。 - 额外提醒:因为
.dev在Firefox的HSTS预加载列表里,哪怕关了请求头,浏览器还是可能自动跳HTTPS。你可以再搜network.stricttransportsecurity.preloadlist,把它改成false来关闭预加载的强制HTTPS规则;或者干脆把本地开发域名换成.local这类没被强制HTTPS的后缀,一劳永逸。
Chrome中禁用Upgrade-Insecure-Requests请求头
Chrome没有单独禁用该请求头的开关,但可以通过关闭自动升级HTTPS的功能来解决问题:
- 方法一:通过浏览器内置设置
- 在Chrome地址栏输入
chrome://flags/#autoupgrade-to-https - 找到「Auto-Upgrade to HTTPS」选项,把它改成
Disabled - 点击右下角的「重启」按钮,设置就生效了
- 在Chrome地址栏输入
- 方法二:通过快捷方式启动参数
- 右键Chrome的快捷方式图标,选「属性」
- 在「目标」栏的末尾(注意和原有内容留一个空格)加上:
--disable-features=AutoUpgradeToHTTPS - 点「确定」后,用这个快捷方式启动Chrome就行
这么设置完,浏览器就不会乱发Upgrade-Insecure-Requests头,也不会强制把.dev站点跳去HTTPS了,你的本地Apache开发环境就能正常访问啦。
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

