HTTP和HTTPS頁面和資源互相訪問混合訪問問題

此方法適用以下可能情況問題排查:

1.地址欄明明訪問的是HTTP協議,但是在瀏覽器調試看到的確是請求加載的是https資源;

2.地址欄訪問的是HTTPS,但是頁面上加載了HTTP資源,比如第三方的JS等;

3.此問題可能排查發生跨域問題排查或者強制https訪問或者出現mix content blocked等錯誤;

4.業務網址在https和http不同協議下,訪問到的樣式或者請求不一致;

 

首先簡單瞭解下:

1.瀏覽器調試模式:F12,在console中可以查看打印日誌或者錯誤日誌,在network中可以看到請求資源和相應內容;

2.業務網址在https和http不同協議下,訪問到的樣式或者請求不一致。

 

解決:

1.所有請求強制https,比如在Tomcat或者Nginx進行強制跳轉443,或者在代碼中、網頁中、寫Https。比如在H5頁面中加入:

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

將協議升級成https,但是加入這個需要配合Https協議地址欄訪問,否則你Http訪問或提示跨域等問題;

或者在服務器響應中加入:

header("Content-Security-Policy: upgrade-insecure-requests");

 但是這種方法,結合實際使用,尤其是強制HTTPS時候。假如你服務器有老項目等。

2.使用相對協議,在資源頭裏不加入Http或者https,只有//,舉例:

另外一個,比如服務器強制HTTPS,直播地址是http://xxx.m3u8格式。可以申請CNAME解析的播流域名SSL證書,比如去對應的雲服務器控制檯。

使用方式2可以兼容https和http訪問,結合實際來。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章