移除 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

Follow me

yungke

視咖啡如命的癮君子,沒有厲害的技術,只會小打小鬧的電腦工程師,其實是個打雜小弟,修電燈、水管也都是我的工作。
yungke
Follow me
Advertisement

Follow Me

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