HSTS 是什么
HSTS 是什么
Google 的 .dev 域名面向公众开放,于是我去 Gandi 上看了下,注意到
那么 HSTS 是什么呢?
这一机制可以在 HTTP 301 跳转到 HTTPS 之前先一步规避中间人攻击的风险。想想看,访问 http://example.com 的过程中是没有加密的,如果在这一阶段就搞事情的话 …
HSTS 是怎么工作的?
当通过 HTTPS 访问你的站点的时候,你的服务器返回的时候加一个 Header,Strict-Transport-Security
,主要值是 max-age=xxx。在设定好的时间内,所有对于当前域名的 HTTP 请求都自动转 HTTPS。
细节可以看下 HTTP Strict Transport Security - 安全 | MDN
Strict-Transport-Security: max-age=<expire-time>
Strict-Transport-Security: max-age=<expire-time>; includeSubDomains
Strict-Transport-Security: max-age=<expire-time>; preload
那,这和 .dev .app .page 等等域名有什么关系,前面说的 HSTS 列表又是什么?
HSTS 列表是什么?
另外我们可以通过 https://hstspreload.org/ 来查询相关的域名是否在列表里,比如大家喜闻乐见的 example.com
而 hstspreload.org 显然是在这个列表里的
在 <hstspreload.org> 查询 .dev 可以看到整个 .dev 都是在列表里的,而查询 .com .org 等普通的域名则会告诉你不要使用一个 . 开头的域名
怎么提交域名到 HSTS 预加载列表
还是 https://hstspreload.org/,有说明如何提交域名到 Chrome 的 HSTS Preload List
服务端需要配置 SSL 证书,将 HTTP 请求重定向到 HTTPS,提供 HSTS Header,并且 max-age 足够长,然后申请就就可以了。