有没有一劳永逸关闭 HSTS 的方法?

2025 年 1 月 14 日
 BruceXu

网站在内网是 http,外网 https.结果内网打开动不动就变成 https 了.

Microsoft Edge

1. 在 Edge 浏览器的地址栏中输入:edge://net-internals/#hsts 。

2. 在 Delete domain 中输入您想要访问的网站的域名,并点击 Delete (删除)。

3. 您可以在 Query domain 中测试是否删除成功。

网上全都是这种方案.但有时候得改几次才生效...很烦人.我是真的不需要浏览器帮我做这个工作.

有没有类似改注册表那种一劳永逸彻底解决的方法?

3579 次点击
所在节点    问与答
12 条回复
HookSafe
2025 年 1 月 14 日
为啥不都搞成 https 省的在本地折腾
privil
2025 年 1 月 14 日
外网你网站一开始别开 HSTS 就完事了,这东西是真的蛋疼
toy007
2025 年 1 月 14 日
全部通过 https 访问

如果你有权限操作服务器,内网也加个证书;

如果你没权限,你可以本机 ng 反代,搞个自签证书。
cutiechi
2025 年 1 月 14 日
内网也全用 https
jchnxu
2025 年 1 月 14 日
应该是你内网的网站 http header 配置了 hsts

浏览器是可以不触发 hsts 的。你想为啥 localhost 你不会自动跳转 https
duanjiong
2025 年 1 月 14 日
供参考, 我用的是 surge mimt , 把一些提示 https 不安全的域名都加进去了
duanjiong
2025 年 1 月 14 日
@duanjiong 不好意思,看错题目了
lisongeee
2025 年 1 月 14 日
在内网使用了别人注册的公网域名作为测试域名也会有这种情况

把域名换成自己持有的就行
bjfane
2025 年 1 月 14 日
不在 https://hstspreload.org/ 这里的很容易吧,你们的网址加入这个了?
BruceXu
2025 年 1 月 14 日
@bjfane #9 查了.确实不在里面.可能和 5 楼所说,header 配置了吧...看来得找内网的运维.
a132811
2025 年 1 月 14 日
办法有很多种:
1. 找一下 nginx 等网关,去掉 HSTS 头:

add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains' always;

检验一下:

curl -s -D- 'https://yourserver' | grep -i strict-transport-security

2. 或使用 chrome 扩展修改响应的 header ,将 HSTS 头去掉

3. 或本地开发时使用代理,将 http 请求转发到 https ,为此我写了一个代理工具(会自动生成自签名证书)
https://github.com/ahuigo/selfhttps

4. 或让本地服务也改 https, 让它内置 https 证书(有一些框架提供)
BruceXu
2025 年 1 月 14 日
@a132811 #11 感谢大佬.第二种似乎最简单,我找找看看.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1104861

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX