开启 HSTS 安全机制

  • 内容
  • 相关

HTTP Strict Transport Security (HSTS) 是一个安全机制, 通知浏览器将来对目网域的所有查询使用 HTTPS, 即使尝连接到 http:// 的网址, 也会强制使用 https:// 的网址.

以下分别是在 Let’s Encrypt, Apache, .htaccess 及 Nginx 开启 HSTS 的方法.

Let’s Encrypt

Let’s Encrypt 要启用 HSTS, 当建立凭证时, 加入 –hsts 参数, 即使凭证已经建立, 使用同样的指令并加上 –hsts 参数, 这会尝试重新建立已有的凭证。

Apache

开启 Apache 的设定档, 或相应 virtualhost 的设定档, 例如:

/etc/apache2/sites-enabled/domain.conf 或

/etc/httpd/sites-enabled/domain.conf

找到 virtualhost 443 的部份, 加入以下一行, 例如:

<virtualhost *:443="">
  Header always set Strict-Transport-Security "max-age=31536000"
  ......
  ......
</virtualhost>

修改后重新启动 Apache:

$ sudo systemctl restart httpd

.htaccess

如果网站支援 .htaccess, 在网站根目录的 .htacess 加入以下一行:

Header always set Strict-Transport-Security "max-age=31536000" env=HTTPS

加入后便会立即生效.

Nginx

开启 Nginx 的设定档, 或个别主机的设定档, 例如:

/etc/nginx/nginx.conf 或
/etc/nginx/sited-enabled/yoursite.com (Ubuntu / Debian) 或
/etc/nginx/conf.d/nginx.conf (RHEL / Rocky Linux / CentOS)

开 port 443 的 server block 设定, 加入 HSTS 设定, 例如:

server {
  listen   443;
  add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; ";
  ......
  ......
}

修改后重新启动 Nginx:

$ sudo systemctl restart nginx
黑蜘蛛

本文标签:

版权声明:若无特殊注明,本文皆为《ღ軍尐ღ》原创,转载请保留文章出处。

字数统计:本文共有 《1032》 个。

本文链接:开启 HSTS 安全机制 - https://4dn.net/jsxx/271.html