解決「ERR_CERT_COMMON_NAME_INVALID」導致HSTS異常無法瀏覽HTTPS網站
最近Chrome升級新版後,卻常常遇到有些https網站(有綁SSL)的網站無法存取,甚至轉向https的錯誤畫面,Chrome會顯示「NET::ERR_CERT_COMMON_NAME_INVALID」(隱私權設定發生錯誤)的狀況,本以為清理瀏覽器的網頁快取就可以解決,沒想到就算把瀏覽器重設後再次登入自己的Google帳號,問題依然沒有辦法解決。
除非,Chrome瀏覽器重設後不登入任何帳號,好像就可以正常,但是Google Chrome瀏覽器所有資料都綁在Google帳號,這樣也沒有正確的解決問題,因此查了許久後發現原來問題是出在其他地方,居然是在「HSTS」的設定部分造成異常導致於網站無法正確連線,一直被誤判而跳轉到https的連線,但偏偏我該網站就是沒有套用https(SSL加密)設定。
既然查出問題是出在「HSTS」,以Chrome來說就可以透過內建的工具進行修復動作,把HSTS的紀錄清除後,重新造訪一次網站,就可以解決問題了。最早以為是WordPress和主機端的設定出了問題,後來查過資料居然是發生在Chorme的瀏覽器設定,普通的清理快取、刪除瀏覽紀錄、瀏覽器重設後登入都無法解決,結果最後解決方法則是不需要重設瀏覽器,只要把該網域的「HSTS」清除後重新讀取網站即可解決問題。
如果遇到了「NET::ERR_CERT_COMMON_NAME_INVALID」,有一部分是憑證問題,憑證與網站沒有正確的對應,但是網站如果沒有使用憑證,卻又遇到這樣的狀況,那就真的很尷尬,每次瀏覽器連進去都只會顯示「您的連線不是私人連線,攻擊者可能會嘗試從 XXX網址 竊取您的資訊 (例如密碼、郵件或信用卡資訊)。」對於訪客來說也會覺得網站是否異常?是否網站中毒?還是我的瀏覽器中毒了?
這次要清理的「HSTS」其實原文是「HTTP Strict Transport Security」,中文名字為「HTTP強制安全傳輸技術」,因為香腸的「sofree.cc」有綁定SSL加密連線,但是「download.sofree.cc」並沒有設定,可能因此而誤判,導致於無法正確連線並登入使用,目前只要清理HSTS的設定,重新讀取一次網站就可以把問題解決了。
第1步 以香腸自己遇到狀況來說,我發現我的「搜福利免費軟體下載站」居然異常了,造訪網頁居然出現以下網頁,但是改用Firefox、IE瀏覽都是正常的。
第2步 以Chrome瀏覽器來說,請開啟瀏覽器後在網址列輸入「chrome://net-internals/#hsts」,即可進入以下畫面。接著在「Delete domain」區域,輸入您網站網址(裸域,主網域),再點後方﹝Delete﹞。
例如:異常網站是「download.sofree.cc」,那麼請輸入「sofree.cc」。
第3步 接著在同一個網頁上找到下方「Query domain」,輸入您剛剛刪除的網域然後點選﹝Query﹞,如果查出的資料顯示「Not found」代表刪除成功囉!若有出現資料請再次確認,您應該是沒刪除成功。
第4步 再次造訪剛剛異常得網站,例如香腸的「搜福利免費軟體下載站」,你可以發現他正常了!代表我們成功囉!