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

59 天前
 xubingok

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

Microsoft Edge

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

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

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

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

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

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

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

如果你没权限,你可以本机 ng 反代,搞个自签证书。
superchijinpeng
59 天前
内网也全用 https
jchnxu
58 天前
应该是你内网的网站 http header 配置了 hsts

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

把域名换成自己持有的就行
bjfane
58 天前
不在 https://hstspreload.org/ 这里的很容易吧,你们的网址加入这个了?
xubingok
58 天前
@bjfane #9 查了.确实不在里面.可能和 5 楼所说,header 配置了吧...看来得找内网的运维.
a132811
58 天前
办法有很多种:
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 证书(有一些框架提供)
xubingok
58 天前
@a132811 #11 感谢大佬.第二种似乎最简单,我找找看看.

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

https://tanronggui.xyz/t/1104861

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

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

© 2021 V2EX