HSTS 诡异的问题

10次阅读

共计 627 个字符,预计需要花费 2 分钟才能阅读完成。

碰上了一个诡异问题

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
  • nginx 只配置了这两个域名
  • chrome 的缓存清除过
  • chrome 的 hsts 设置中都未有相关这两个域名的配置
  • 换 edge 和 firefox 也是一样

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

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

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


软件版本

  • nginx: 1.22.0
  • chrome 123.0.6312.86
正文完
 0