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

博客3年前 (2021)更新 铭创网络
547 0 0
Elementor编辑器

什么是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 预加载列表

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

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

server {
    listen 80;
    server_name www.yephy.com yephy.com;
    root /data/wwwroot/www.yephy.com;
    if ($server_port !~ 443){
        rewrite ^(/.*)$ https://$host$1 permanent;
    }
    }

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

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

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

server {
    listen 443 ssl http2;
    server_name www.yephy.com yephy.com;
    index index.php index.html index.htm default.php default.htm default.html;
    root /data/wwwroot/www.yephy.com;
    
    #HTTP_TO_HTTPS_END
    ssl_certificate    /data/cert/www.yephy.com/fullchain.pem;
    ssl_certificate_key    /data/cert/www.yephy.com/privkey.pem;
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    add_header Strict-Transport-Security "max-age=31536000;includeSubdomains; preload";
    
    #……此处省略 N 行

    error_log  /data/logs/www.yephy.com.error.log;
}

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

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

状态:yephy.com 正在等待提交到预加载列表。

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

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

本文出自:https://www.zhanzhangb.com/1354.html

© 版权声明
Vultr VPS 重磅限时优惠

相关文章

暂无评论

暂无评论...