HSTS
最近在折腾代码仓库,把私有的项目托管到 OneDev,OneDev 挂载到 NAS 上,可以通过 VPN 回家,访问速度即快,代码存储又安全。
但是想配置一个好记好看的域名,碰到了一个大问题。
fuckyou Porkbun
.
1.dev
1.dev / one.dev
通过 dns 重定向,怎么样都无法访问. 但是用 curl 就没问题
通过浏览器 network 来看,直接访问 HTTP,看样子是 307 重定向到了 HTTPS。
但是这个重定向有蹊跷,是不走HTTP端口的,直接伪造请求重定向了。
原因是因为 HSTS。只要服务器响应过一次 HSTS,那么后续就会直接来进行HTTPS访问。那行吧,得把这个规则清除掉。
Delete HSTS policies
chrome 可以访问 chrome://net-internals/#hsts
可以 Delete domain security policies
进行删除。
把 1.dev 输入进去 删除,然后再 Query,怎么TMD 删不掉。what’s happening
仔细看了 Delete policies 下面有一行小字: You cannot delete preloaded entries.
难道这东西是默认的?
Preload policies
可以在这里 查询 Preload 的规则:
https://hstspreload.org/?domain=1.dev
果不其然,在里面,怪不得删不掉。
Conclusion
1.dev 这个域名,没有被使用,但仍然上了 Preload 的规则,这就会导致 所有的用户都只能从 HTTPS 访问。
而 HTTPS 就是为了防篡改的,但这个点会影响内部使用,内网无法颁发这个域名的 HTTPS 证书,所以这个资源就被闲置,也无法被私有化使用。
目前我能找到私有化可用的本地域名:
- .local (mDNS, 这是自动的,不建议手动设定)
- .nas
- .lan
可公开的 https 域名
- .nip.io