HSTS 诡异的问题

265 天前
 sankooc

碰上了一个诡异问题

nginx 配了域名转发 客户端配置 hosts 文件

    server {
        listen      80;
        server_name sso.mibox.dev;
        location / {
            proxy_pass http://127.0.0.1:10088;
        }
    }
    server {
        listen      80;
        server_name sso.mibox.com;
        location / {
            proxy_pass http://127.0.0.1:10088;
        }
    }

客户端通过 curl 请求两个域名得到的响应是预期中的

通过 chrome 打开 sso.mibox.com 是正常的

但是打开 sso.mibox.dev 会给我 307 转发到 https 上

HTTP/1.1 307 Internal Redirect
Location: https://sso.mibox.dev/
Cross-Origin-Resource-Policy: Cross-Origin
Non-Authoritative-Reason: HSTS

如果说有区别的话 客户端安装了自定义的 CA 相关 sso.mibox.dev 这个域名

按理来说即使有这个 ca 也不应该影响 http 的访问

那位大佬帮忙分析以下为什么 sso.mibox.dev 为什么浏览器会自动转发至 https


软件版本

2500 次点击
所在节点    程序员
13 条回复
dallaslu
265 天前
get.dev 首页说明:

> The .dev top-level domain is included on the HSTS preload list, making HTTPS required on all connections to .dev websites and pages without needing individual HSTS registration or configuration.
OneXT
265 天前
@dallaslu 6 啊大佬。又长知识了。
sankooc
265 天前
@dallaslu 原来是这样... 随便起的 dev 后缀居然是预设的...
coala
265 天前
可以关注下 307 Temporary Redirect 和 307 Internal Redirect 的区别,

Internal Redirect 是浏览器行为, 都是谷歌干的。
aikilan
265 天前
@dallaslu 学到了
gentrydeng
265 天前
@sankooc #3 .DEV 全域都是 HSTS
rrfeng
265 天前
HSTS 有个 preload list ,写死在浏览器里的,根本不 care 你 server 什么设置。
---
有个坑貌似是,chrome 会收集支持 hsts 的站点然后加入到 preload list 里,然后你就永远只能 https 没法降级了。
shierji
265 天前
这里偏个题,某办公室部分电脑能上部分电脑不能上某 ZF 网站,排查半天最后发现是不知道啥时候那个 URL 进 HSTS Preload list 了,然而丫根本不支持 HTTPS
jim9606
265 天前
@rrfeng
这个 preload list 是要申请的,审核要求整个域名响应都要带 HSTS includesubdomains 、preload 和足够长的 maxage ,目的是防止首次访问的 http->https 跳转就被劫持。因为很难撤回,所以只建议在 https 部署稳定可靠后再申请 preload 。

https://hstspreload.org/

@shierji 是不是 HSTS 头配错了(添加了 preload 属性,不打算预置的绝对不要加),然后被第三者申请 preload 了。
qeqv
265 天前
@rrfeng 手机上经常一些网站 chrome 打不开,其他浏览器能开……,手机上还很难排查
ZeroAsh
265 天前
偏个题,可以试试直接用 certbot 搞个免费的证书~也可以用配置下域名解析,然后申请通配的免费证书,但都得定时续期~ 也有自动续期的工具,配好之后还是蛮方便的。
ysc3839
264 天前
@rrfeng 后加入的可以去 chrome://net-internals/#hsts 删除,preloaded 的删不了
shierji
263 天前
@jim9606 有可能是 gov.cn 整个域进 hsts preload list ,这个网站是被“传染”了

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

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

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

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

© 2021 V2EX