開啟 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
Tags:

Leave a Reply