网站启用HSTS并加入HSTS Preload List

网站启用HSTS并加入HSTS Preload List

本次操作参考 挖站否 教程操作,个别图片由于添加时忘了截图,所以只能借用 qi 的截图了,@qi 别介啊。

1、添加 SSL 证书

首先给你的网站加上https,如果没有的话可以申请 Let’s Encrypt 免费证书。

2、配置 HSTS

我的服务器是Nginx ,配置很简单:打开文件 /usr/local/nginx/conf/nginx.conf ,找到 server:{ ... } ,在里面添加以下代码:

  1. add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";

配置保存后重启 Nginx 服务。

如果是其他服务器的话,参考:https://wzfou.com/hsts-preload/#HSTS

添加HSTS到这就完了,@qi提供的检测网站:

  1. 官网:https://www.ssllabs.com/
  2. 中文版:https://myssl.com
  3. 演示:https://www.ssllabs.com/ssltest/analyze.html?d=xn--nf1a578axkh.xn--fiqs8s

3、加入HSTS Preload List准备工作

HSTS preload list是Chrome浏览器中的HSTS预载入列表,在该列表中的网站,使用Chrome浏览器访问时,会自动转换成HTTPS。Firefox、Safari、Edge浏览器也在采用这个列表。

添加地址:https://hstspreload.org/

需要两步检测:

1 测试HSTS是否生效

直接打开Chrome查看网络,就可以看到头部已经包含了HSTS信息了。

测试HSTS是否生效

2 做好Http跳转Https

该域名下的所有子域名都要开启https ,而且都要Http跳转到Https,启用了HSTS后请求地址为 header 头中的 Location会显示307 ,即要求浏览器继续向 Location 的地址 POST 内容。

做好Http跳转Https

4、 加入HSTS Preload List

进入hstspreload官网,输入你的域名,然后检测结果会告诉是否符合加入HSTS Preload List,没有问题的话,两个勾勾选确定。有问题的话,看是什么问题,根据问题修改后再点击Check HSTS preload status and eligibility 检测。

加入HSTS Preload List

HSTS Preload List审核的时间有长有短,一旦提交后你就只能等待。(好像我的很快就有了)

HSTS Preload List提交审核

5、 是否成功加入HSTS Preload List

你可以在Chrome浏览器的地址框中输入“chrome://net-internals/#hsts”查看。

这是添加成功的:

成功加入HSTS Preload List

这是没加入的:

没有加入HSTS Preload List

感谢 挖站否 @qi 的教程!

黄良钵

博客站长,前端开发工程师

发表评论

电子邮件地址不会被公开。 必填项已用*标注

微信扫一扫

微信扫一扫

微信扫一扫,分享到朋友圈

网站启用HSTS并加入HSTS Preload List
返回顶部
网站稳定运行 : {{ diffYears }}年 零 {{ diffDays }}天 {{ diffHours }} 小时 {{ diffMinutes }} 分钟 {{ diffSeconds }} 秒

显示

忘记密码?

显示

显示

获取验证码

Close