静看光阴荏苒
不管不顾不问不说也不念

把域名加入到HSTS Preload List

说起来也是够倒霉的,前两天为了搭建一个Mastodon特地去注册了一个新域名,结果全部部署好了之后发现http不能301跳转到https,Chrome浏览器提示“连接已重置”

其实看到“连接已重置”我基本就意识到这域名是中奖了,上一个主人估计是做了什么坏事。。。

但还是有点不甘心,仔细排查了一下,确认环境配置是肯定没问题的。

挂梯子能正常从http跳转到https。关掉梯子,绑了一个别的域名到服务器上,访问也没问题。

PING服务器IP也是正常,TCPPING服务器80端口也是正常。

但是只要用这个中奖的域名访问浏览器就会提示“连接已重置”。

并且此时TCPPING服务器80端口的延迟也会出问题,明显的延迟会有大幅度的变化。

OJBK,可以肯定这个域名是炸了,HTTP阻断,然后用这个网站查了一下历史的DNS更改记录:

https://completedns.com/dns-history/

19年的时候就有DNS改动,说明这域名之前就被人注册过了,至于拿来干了什么,我后续又去这个网站查了一下:

https://web.archive.org/

很可惜啥也没查到,只能说以后注册域名真的要特别小心了,这NMD一不小心就掉坑里面去了。。

最蛋疼的是Mastodon这个程序换不了域名,要是别的程序再买一个新的域名换上去就行了。

好在这个域名只是HTTP阻断,不是DNS污染。有几个解决办法,考虑了一下,我选择把域名加入HSTS Preload List。

打开这个网站检测是否符合条件加入:

https://hstspreload.org/

加入的话需要满足几个条件:

1.网站此时有一个有效的SSL证书。

2.网站此时是将HTTP跳转到HTTPS的。

3.如果域名还有其他子域名,这些域名也全部要是HTTPS。

4.在WEB服务器上配置HSTS标头。

前3个条件都很好满足,用Certbot一键签发证书就完事了,主要是第4个条件。

我是Nginx反代Mastodon,所以编辑一下nginx的配置文件,在所有需要的地方加入如下标头:

add_header Strict-Transport-Security: "max-age=63072000; includeSubDomains; preload";

配置好了之后别忘了重载了一下nginx:

systemctl reload nginx

之后重新检测,如果正常的话,可以看到下面的提交页面:

成功的话会有下面的页面回显:

然后就是漫长的等待过程了,可以看看这个列表,如果这个列表里面有你的域名了,那就说明各个浏览器差不多都支持了:

https://cs.chromium.org/chromium/src/net/http/transport_security_state_static.json

最后,GFW NMSL

赞(5)
未经允许不得转载:荒岛 » 把域名加入到HSTS Preload List
分享到: 更多 (0)

评论 7

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    lala怎么都不见你分享妹纸图了 :?:

    Ku Klux Klan3年前 (2020-12-15) Google Chrome 83.0.4103.116 Google Chrome 83.0.4103.116 Windows 10 x64 Edition Windows 10 x64 Edition回复
    • 我腰子不行了233

      LALA3年前 (2020-12-19) Google Chrome 86.0.4240.198 Google Chrome 86.0.4240.198 Windows 10 x64 Edition Windows 10 x64 Edition回复
  2. #2

    以前完全不知道这个

    hofaeair3年前 (2020-12-17) Google Chrome 86.0.4240.260 Google Chrome 86.0.4240.260 Google Chrome OS x64 Google Chrome OS x64回复
  3. #3

    lala:
    add_header Strict-Transport-Security: “max-age=63072000; includeSubDomains; preload”; 里的 :去掉
    改成:
    add_header Strict-Transport-Security “max-age=63072000; includeSubDomains; preload”;

    hofaeair2年前 (2022-01-12) Google Chrome 96.0.4664.110 Google Chrome 96.0.4664.110 Windows 10 x64 Edition Windows 10 x64 Edition回复
    • 好像是写错了哦,看的够仔细的。。

      LALA2年前 (2022-01-16) Google Chrome 86.0.4240.198 Google Chrome 86.0.4240.198 Windows 10 x64 Edition Windows 10 x64 Edition回复
      • 试着申请了HSTS,发现网页访问和申请有报错,所以仔细查了一下 :shock:

        hofaeair2年前 (2022-01-17) Google Chrome 97.0.4692.71 Google Chrome 97.0.4692.71 Windows 10 x64 Edition Windows 10 x64 Edition回复
  4. #4

    请问“在所有需要的地方加入如下标头”这个所有需要的地方都是哪里呢?
    我在nginx配置文件server和location都加上了,可是检测的时候一直提示:Error: No preload directive

    frankho11个月前 (06-06) Microsoft Edge 114.0.1823.37 Microsoft Edge 114.0.1823.37 Windows 10 x64 Edition Windows 10 x64 Edition回复

分享创造快乐

广告合作资源投稿