ChromeHSTS異常導致無法訪問HTTPS網頁
今天小夥伴突然告訴我,他的電腦上打不開網頁了,然後把以下截圖給我發了過來:
瞭解到他是用shadowsocks訪問谷歌的時候網頁打不開,之前是都是OK的。簡單讓他做了下網路連通性測試:ping域名,telnet網站的80和443埠,發現網路是OK的。然後仔細看了下他的報錯資訊:
NET::ERR_CERT_COMMON_NAME_INVALID,詳情頁裡可以看到是“因為此網站使用了HSTS”,於是讓他嘗試清理下Chrome上HSTS安全設定策略,清理後恢復正常,具體操作如下:
在Chrome瀏覽器中輸入:chrome://net-internals/#hsts:
找到相應的“delete domain security policies”,輸入訪問有問題的網站域名,然後點選刪除(delete):
找到“Query HSTS/PKP domain”,輸入剛才刪除的域名,查詢結果返回“Not Found”,代表已經刪除成功:
之後再重新訪問之前的頁面,此時網頁能夠正常開啟。
問題雖然已經解決,那麼我們本著知其然,且知其所以然的原則,我們總結一下:
報錯是HSTS的問題,那麼我們嘗試清理HSTS的設定,重新獲取一下即可。那麼什麼是HSTS呢:
HSTS is HTTP Strict Transport Security: a way for sites to elect to always use HTTPS. See https://www.chromium.org/hsts, 是國際網際網路工程組織IETF正在推行一種新的Web安全協議,HSTS的作用是強制客戶端(如瀏覽器)使用HTTPS與伺服器建立連線。
採用HSTS協議的網站將保證瀏覽器始終連線到該網站的HTTPS加密版本,不需要使用者手動在URL位址列中輸入加密地址。
該協議將幫助網站採用全域性加密,使用者看到的就是該網站的安全版本。
HSTS的作用是強制客戶端(如瀏覽器)使用HTTPS與伺服器建立連線。伺服器開啟HSTS的方法是,當客戶端通過HTTPS發出請求時,在伺服器返回的超文字傳輸協議響應頭中包含Strict-Transport-Security欄位。非加密傳輸時設定的HSTS欄位無效。
比如,https://xxx 的響應頭含有Strict-Transport-Security: max-age=31536000; includeSubDomains。這意味著兩點:
在接下來的一年(即31536000秒)中,瀏覽器只要向xxx或其子域名傳送HTTP請求時,必須採用HTTPS來發起連線。比如,使用者點選超連結或在位址列輸入 http://xxx/ ,瀏覽器應當自動將 http 轉寫成 https,然後直接向 https://xxx/ 傳送請求。
在接下來的一年中,如果 xxx 伺服器傳送的TLS證書無效,使用者不能忽略瀏覽器警告繼續訪問網站。
進入瀏覽器的inspeck模式,我們可以看到Response Headers如下:
小夥伴的電腦很可能是因某些原因導致待訪問網站的HSTS失效了,所以清理之後,重新認證一下即恢復正常。
本文轉自Jx戰壕 51CTO部落格,原文連結:http://blog.51cto.com/xujpxm/2085695,如需轉載請自行聯絡原作者
相關文章
- LOAD異常中止導致表無法訪問的解決方法
- HA異常導致oracle資料庫無法啟動Oracle資料庫
- eclipse異常關閉 導致tomcat 6.0 無法重啟EclipseTomcat
- wing ftp server網頁無法訪問FTPServer網頁
- Workstation服務無法啟動導致無法訪問檔案伺服器伺服器
- nfs導致的作業系統目錄無法訪問NFS作業系統
- 神奇的DEBUG:因為異常導致MongoDB容器無法啟動MongoDB
- Kubernetes node的防火牆問題導致pod ip無法訪問防火牆
- 修改計算機名後導致Oracle無法訪問的問題修復計算機Oracle
- 當機導致slave異常分析
- 非歸檔模式下異常斷電導致的資料庫無法啟動的問題修復模式資料庫
- crontab導致CPU異常的問題分析及處理
- 訪問github出現無法訪問此網站Github網站
- eclipse 異常關閉後, 再開啟時閃退,導致無法再開啟Eclipse
- 表空間擴充套件過程 停電導致異常中斷, 無法啟動套件
- 由adoacorectl.sh啟動失敗導致網頁無法顯示網頁
- css:touch-action導致安卓無法滾動頁面CSS安卓
- 【Python】jupyter notebook啟動後網頁無法訪問Python網頁
- 前後端頁面分離導致session無法正常獲取的問題後端Session
- 在聯網狀態下,有很多應用無法聯網問題,如360安全衛士, Smartscreen篩選器無法訪問, 部分網頁無法訪問等問題的解決方法網頁
- apache ambari web頁面無法訪問解決辦法ApacheWeb
- ORACLE OGG引數修改引起佇列檔案異常導致抽取程式無法啟動Oracle佇列
- crontab設定導致的伺服器程式異常問題伺服器
- 懷疑私網網路卡多播問題導致crs無法正常啟動
- 【epoll問題】EPOLLRDHUP使用導致無法接受資料
- 無法訪問網路上的芳鄰
- 防止跨域問題無法訪問網址跨域
- github無法訪問Github
- Discuz使用tools修復資料檔案後,訪問URL多出/source/plugin/tools,導致文章欄目無法訪問Plugin
- 記 Laravel Observer 導致 Redis 佇列異常LaravelServerRedis佇列
- 異常程式導致大量資源佔用
- 序列異常導致災備端應用異常處理一則
- ajax的get請求快取導致無法更新問題快取
- 解決hyper v導致docker無法啟動問題Docker
- 字元校驗集問題導致索引無法正常使用字元索引
- springboot中靜態頁面無法訪問及return無法重定向問題Spring Boot
- 從原始碼分析JSONObject因版本差異導致toString格式異常問題原始碼JSONObject
- milvus 異常——無法連線