目錄
解決方式
Chrome瀏覽器
Safari瀏覽器
Edge瀏覽器
注意事項(xiàng)
什么是HSTS?
寫在最后
????????最近在寶塔面板申請免費(fèi)的SSL證書后,部署證書的80端口下的網(wǎng)站可以通過https正常訪問,但其他未部署證書的端口也被強(qiáng)制跳轉(zhuǎn)至https請求,導(dǎo)致瀏覽器提示不安全從而無法訪問。寶塔的8888端口也不能訪問。。
????????當(dāng)我嘗試了各種方法,如重新放行443端口、重新配置nginx反向代理、重啟服務(wù)器……在我正像個(gè)無頭蒼蠅亂撞時(shí),偶然發(fā)現(xiàn)通過無痕瀏覽模式也可以正常使用,才隱隱感覺到是瀏覽器的問題。找對方向后,得出主要關(guān)閉瀏覽器的HSTS功能就可以了!
HTTP Strict Transport Security (HSTS) is an opt-in security enhancement that is specified by a web application through the use of a special response header.
Once a supported browser receives this header that browser will prevent any communications from being sent over HTTP to the specified domain and will instead send all communications over HTTPS.?
It also prevents HTTPS click through prompts on browsers.
????????在安裝配置SSL證書時(shí),可以使用一種能使數(shù)據(jù)傳輸更加安全的Web安全協(xié)議,即在服務(wù)器端上開啟HSTS ,它會告訴瀏覽器只能通過HTTPS訪問,而絕對禁止HTTP方式。
????????因此,只要關(guān)閉瀏覽器的HSTS功能就可以解決這個(gè)問題,但是只能通過特定的方式,而不是清除瀏覽器緩存那么簡單。
解決方式
Chrome瀏覽器
1.地址欄中輸入chrome://net-internals/#hsts。
2.在Delete domain中輸入項(xiàng)目的域名,并Delete(刪除)。
3.可以在Query domain測試是否刪除成功。
Safari瀏覽器
1.完全關(guān)閉Safari瀏覽器。
2.刪除~/Library/Cookies/HSTS.plist這個(gè)文件。
3.重新打開Safari即可(極少數(shù)情況下,可能需要重啟系統(tǒng))。
Firefox瀏覽器
1.關(guān)閉所有已打開的頁面。
2.清空歷史記錄和緩存。
3.地址欄輸入about:permissions。
4.搜索項(xiàng)目域名,并點(diǎn)擊Forget About This Site。
Edge瀏覽器
????????下面看下解決Edge瀏覽器http鏈接自動跳轉(zhuǎn)到https的問題(親自嘗試
????????起初,當(dāng)我發(fā)現(xiàn)無痕模式可行后,嘗試清理瀏覽器緩存,結(jié)果依舊是失敗的,還是需要進(jìn)行如下操作,
????????在Edge瀏覽器地址輸入:
edge://net-internals/#hsts
????????在最下面的Delete domain security policies
里輸入想要刪除的網(wǎng)址
????????注意是去掉http://前綴的網(wǎng)址!
注意事項(xiàng)
什么是HSTS?
HSTS 是一種強(qiáng)制瀏覽器只能通過 HTTPS 訪問某個(gè)域名的 URL 的協(xié)議,它可以防止中間人攻擊,提高數(shù)據(jù)傳輸?shù)陌踩浴?/p>
-
當(dāng)?shù)谝淮卧L問某個(gè)域名的 HTTP URL 時(shí),服務(wù)器會返回一個(gè) 301 或者 302 狀態(tài)碼,并在 Location 頭部指定該 URL 的 HTTPS 版本,讓瀏覽器重定向到 HTTPS URL。
-
同時(shí),服務(wù)器還會在響應(yīng)頭部添加一個(gè)名為 Strict-Transport-Security 的字段,它包含了 HSTS 的過期時(shí)間和其他選項(xiàng)。
-
瀏覽器收到響應(yīng)后,會將該域名和 HSTS 的信息保存在本地緩存中,并按照 Location 頭部的指示跳轉(zhuǎn)到 HTTPS URL。
-
之后,再次訪問該域名的 HTTP URL 時(shí),瀏覽器會先檢查本地緩存中是否有 HSTS 的記錄,并且是否在有效期內(nèi)。如果有,瀏覽器會直接將 HTTP URL 轉(zhuǎn)換為 HTTPS URL,并發(fā)起 HTTPS 請求。
-
如果沒有,瀏覽器會正常發(fā)起 HTTP 請求,并重復(fù)上述步驟。
除了服務(wù)器端發(fā)送HSTS頭部的方式外,還有一種方式是瀏覽器預(yù)置HSTS名單,即瀏覽器內(nèi)置了一些已經(jīng)啟用HSTS的域名列表,當(dāng)訪問這些域名的HTTP URL時(shí),瀏覽器會直接轉(zhuǎn)換為HTTPS URL,并不需要服務(wù)器端返回HSTS頭部。文章來源:http://www.zghlxwxcb.cn/news/detail-780097.html
寫在最后
對于訪問域名自動跳轉(zhuǎn)為HTTPS,如果是自己的學(xué)習(xí)項(xiàng)目,可以暫時(shí)通過本文方法來解決;對于其它類型的項(xiàng)目,還是盡量部署SSL證書,支持HTTPS訪問,以避免一些不安全的情況出現(xiàn)。文章來源地址http://www.zghlxwxcb.cn/news/detail-780097.html
到了這里,關(guān)于解決瀏覽器自動將http跳轉(zhuǎn)至https導(dǎo)致無法訪問的問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!