将域名提交到HSTS预加载列表中,以提升访问速度

什么是HSTS预加载列表

HTTP Strict Transport Security 翻译过来是:“HTTP严格安全性传输”,简称:HSTS。它是一种Web安全策略机制,可帮助保护网站免受中间人攻击,例如协议降级攻击和cookie劫持。 它允许Web服务器声明Web浏览器(或其他符合要求的用户代理)应仅使用提供传输层安全性(TLS / SSL)的HTTPS连接自动与其进行交互,这与单独使用不安全的HTTP不同。

服务器通过一个名为“ Strict-Transport-Security ”的HTTPS响应标头字段将HSTS策略传达给用户代理。HSTS策略指定用户代理只能以安全方式访问服务器的时间段。使用HSTS的网站通常不接受明文HTTP,会拒绝通过HTTP的连接,或者将HTTP连接跳转到HTTPS。

为什么HSTS预加载能让网页浏览速度更快?

通俗的来理解:HSTS会强制浏览器仅通过HTTPS连接,HSTS预加载列表是由Chrome发起的,目前也获得了其它主流浏览器的支持,例如:Chrome,Firefox,Opera,Safari,IE 11和Edge等。就是浏览器会在发布新版本的时候,将支持HSTS的域名硬编码进去,当用户访问该域名(注意:包含所有子域名)浏览器会自动进行HTTPS连接,这样减少了与服务器端的握手时间,所以更安全也让访问速度更快

截至发稿HSTS兼容性:

将域名提交到HSTS预加载列表中,以提升访问速度插图

如何将域名添加到HSTS预加载列表

1、首先域名得部署SSL证书,实现了全站HTTPS访问(任何网页中都不能加载HTTP连接的资源)。

2、HTTP连接必须通过301或302跳转到HTTS连接,下面以Nginx为例:

server
{
listen 80;
    server_name abc.com www.abc.com;
    index index.php index.html index.htm default.php default.htm default.html;
    root /wwwroot/abc;
    if ($server_port !~ 443){
        rewrite ^(/.*)$ https://$host$1 permanent;
    }
}

3、在基本域上(非子域名)为HTTPS请求提供HSTS标头:

  • max-age必须至少31536000秒(1年)。
  • includeSubDomains必须指定该指令。
  • preload必须指定该指令。

下面以Nginx为例,添加:“Strict-Transport-Security”标头

4、到https://hstspreload.org/提交。如果提交成功,则会显示如下:

将域名提交到HSTS预加载列表中,以提升访问速度插图(1)

如果有其它错误提示,请检查上文中的步骤是否正确。

一般来讲状态处于等待提交的话,会在浏览器发布下一个升级版本的时候提交到浏览器的HSTS预加载列表,大概7-30天。

给TA买糖
共{{data.count}}人
人已赞赏
红包活动

腾讯自选股领随机微信红包

2021-11-28 18:44:08

软件编程

WordPress实现更新百度快速收录推送办法

2021-12-1 14:49:10

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索