取消Chrome-based瀏覽器自動將HTTP重導向HTTPS

取消Chrome-based瀏覽器自動將HTTP重導向HTTPS

公司最近在內部網站開始導入使用 HTTPS,伺服器僅匯入憑證,但還不到強制使用的階段。但在測試過程發現一點點麻煩的地方,情境與網路上的有所不同。一般碰到是開發者進行開發時會用到 localhost 這個網域,而瀏覽器因為加強安全性,因此會強制進行 HTTP 重導向 HTTPS 的動作。這個動作稱為 HSTS(HTTP Strict Transport Security)。

設定上,可以透過應用程式或網站伺服器來啟用 HSTS,例如:

假設我有個公司內部網站 http://blog.kkbruce.corp 現在因為匯入的 SSL 憑證,因此測試時會改為 https://blog.kkbruce.corp 來進行測試,結果瀏覽器自己記住了這個網站可以走 HTTPS 這件事。也就是說,在你使用 https:// 連線過後,瀏覽器只要知道這個網站是有 HTTPS 的,它就會進入走 HSTS 的條件。

那麼解法呢?其實跟 localhost 還是一樣,參考開發網站時被 HSTS 強制轉至 HTTPS 造成無法啟動開發中網站的說明,開啟瀏覽器的組態頁面:

  • chrome://net-internals/#hsts
  • edge://net-internals/#hsts
Query HSTS PKP domain

很明顯,我們在 Query HSTS/PKP domain 輸入網域可以查詢到此網域的 HSTS 被啟用的資訊。未被啟用的查詢結果應該是一片空白。只要到畫面中 Delete domain security policies 將剛剛的網址進行刪除,再重新查詢就會得到 Not found 的結果。

Delete domain security policies

刪除之後,網站就能回到原來 HTTP 的連線了。

測試的過渡時期,只能 HTTPS 連了又刪,好像也沒其他比較好的招式了<。

感謝MPV Winnie Lin提供一招,那就是下載 Firefox 瀏覽器。經測試,確實可行。如果不想一直修修改改,那麼非Chrome-based的 Firefox 考慮一下吧。

沒有留言:

張貼留言

感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。