移除 Chrome HSTS 的網域清單

HSTS 是 HTTP 強制安全傳輸技術 (HTTP Strict Transport Security) 是一套網際網路安全策略機制,網站可以選擇使用 HSTS 策略,來讓瀏覽器強制使用 HTTPS 與網站進行通訊,以減少連線劫持風險;簡單的說:就是強制客戶端使用 HTTPS 訪問頁面。

啟動 HSTS 方法,一是在 hstspreload.org 網站提交域名,二是在 header 響應頭裡寫入 max-age=31536000; includeSubDomains; preload 配置,可以參考我之前寫的「將域名加入 HSTS Preload List」。

hstspreload.org 網站提交域名

將域名加入 HSTS Preload List

HSTS 是 HTTPS 性能優化和安全優化中最重要的一環,能夠給 HTTPS 帶來好處,這將指示瀏覽器只通過 HTTPS 連接到服務器和整個域。即使用戶鍵入 http://www.domain.com 的網址,也可以使用書籤或第三方 HTTP 鏈接,瀏覽器會自動將請求升級為 HTTPS。

昨天在配置一個網站時,不小心將 max-age=31536000; includeSubDomains; preload 寫入到 conf 配置文件,重啟 Nginx 之後,沒有 SSL 證書的子域網站全部都 GG 了,也就是說:沒有安裝 SSL 證書的子域網站,全部被強制以 HTTPS 方式開啟。

Advertisement

清除 HSTS 網域清單的方法:

先將根域名網站改回正確的配置

add_header Strict-Transport-Security "max-age=31536000";

Google Chrome 瀏覽器的網址列輸入:chrome://net-internals/#hsts

Delete domain security policies 的表格內輸入要清除的根域名,如圖:

清除 HSTS 網域清單

子域名也要重複上面的方法再做一次。

按完 Delete 之後,不會有任何回應,所以要確認下有沒有成功刪除 HSTS 清單。

驗證方法

Query HSTS/PKP domain 的表格內,輸入剛剛要刪除的域名,如圖:

Query 檢查 HSTS 清單

回應 Not found,表示已經正確從 HSTS 清單中刪除了你的域名。

如果回應常常一串網域資訊,表示刪除失敗。

我第一次刪除 HSTS 時,因為先刪除子域名,順序錯了造成失敗,記得,先要刪除根域名開始。

Featured Photo by david henrichs on Unsplash

yungke
Follow me
Advertisement

Follow Me

查看本文
喜愛 Like 點擊數!!
Back to top