Firefox 或Edge 等瀏覽器強制跳轉HTTPS 網址問題 - 是Ray ...

文章推薦指數: 80 %
投票人數:10人

因此如果是「 ERR_SSL_PROTOCOL_ERROR 」的話,這會導致你在開發時,某些GUI 工具 ... 因為會出現「localhost 拒絕連線」、「這個網站無法提供安全連 ... 0% 前言身為一名網頁工程師在開發時,往往很常使用localhost或是127.0.0.1來開發,但是有時候我們會發生一些很奇怪的狀況,例如:瀏覽器一直強制你走https或是出現「這個網站無法提供安全連線」等問題,所以這一篇就來紀錄一下如何解決。

問題原因以下我個人「不太建議隨便嘗試」,避免你發生不會處理的狀況,因此該篇建議你有遇到再使用。

首先你可以先試著在瀏覽器網址列上輸入https://localhost/或是開發常用的https://localhost:8080等等網址,接下來你應該就會看到「localhost拒絕連線」、「這個網站無法提供安全連線」、「localhost傳送的回應無效」等錯誤訊息,並且下方錯誤代碼是「ERR_SSL_PROTOCOL_ERROR」,當你看到這個畫面時,首先恭喜你成功還原狀況了。

但是如果你看到的錯誤訊息是「ERR_CONNECTION_REFUSED」的話倒是還好,因為有可能只是你的伺服器忘記開啟而已。

因此如果是「ERR_SSL_PROTOCOL_ERROR」的話,這會導致你在開發時,某些GUI工具無法進入,例如:vueui。

因為會出現「localhost拒絕連線」、「這個網站無法提供安全連線」、「localhost傳送的回應無效」這幾個錯誤訊息,而這個問題就是https在搞鬼,接下來你不管怎麼輸入非https的網址,例如:http://localhost/、http://localhost:8080你會發現永遠都是進入到「這個網站無法提供安全連線」的畫面。

這種狀況主要是出在瀏覽器的本身的一個機制,稱之為HTTPStrictTransportSecurity。

簡單來講只要你曾經訪問過https的網站,那麼瀏覽器之後就會記憶在https,因為HTTPStrictTransportSecurity又稱之為「HTTP強制安全傳輸技術」,因此localhost或是127.0.0.1也是有可能發生的唷。

解決方式那麼該怎麼解決呢?接下來我會列出一些常見的瀏覽器解決方式。

GoogleChrome首先開啟Chrome瀏覽器,並在網址列輸入chrome://net-internals/#hsts,接下來下方有一個選項是「Deletedomainsecuritypolicies」,然後在底下輸入框輸入你要清除https的網域 當你按下「Delete」之後你會發現好像什麼事情都沒發生一樣,這時候你再去輸入「http://localhost/」你就會發現可以進入囉。

如果你不確定你的瀏覽器到底有沒有亂記憶https的話,可以透過「QueryHSTS/PKPdomain」來查詢也可以 MicrosoftEdge而身為包著Chrome核心的MicrosoftEdge處理方式也很雷同,但瀏覽器上輸入稍微不太一樣,在Chrome是輸入chrome://net-internals/#hsts,可是在MicrosoftEdge是輸入edge://net-internals/#hsts,這邊操作方式與上面相同,因此就不截圖囉。

FirefoxFirefox就簡單非常多,直接刪除歷史資料就可以了,詳細可以看這一篇文章。

參考文獻 Re-Hashed:HowtoclearHSTSsettingsinChromeandFirefox



請為這篇文章評分?