Linux 技术手札

开启 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 的部份, 加入以下一行, 例如:

修改后重新启动 Apache:

$ sudo systemctl restart httpd

.htaccess

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

加入后便会立即生效.

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 设定, 例如:

修改后重新启动 Nginx:

$ sudo systemctl restart nginx
Exit mobile version