新版 Chrome 浏览器总是强制将 http 开头的链接强制跳转为 https 的。
作为普通用户这是安全的操作,但对开发者来说,在本地调试前端程序时,总是自动跳 https 会非常影响开发效率。
网上搜索到很多解决方法,都是设置 chrome://net-internals 删除 HSTS 域名。
经测试无效。
还有说在 nginx 下添加:
add_header Strict-Transport-Security "max-age=0;";
经测试依然无效。
不过给了一点启发,浏览器是客户端强制跳转,我可以在服务器端再强制跳回。
放到本地开发的域名配置文件中,在前端路径的 location 中按照如下方法设置即可。
location / {
set $plain_port "80";
if ($plain_port != $server_port) {
rewrite ^/(.*) http://$host/$1;
}
}
经测试效果达到预期。