the content must be served over HTTPS 解決方案


 

 報錯的原因就是當前頁面是https協議加載的,但是這個頁面發起了一個http的ajax請求,這種做法是非法的。HTTPS頁面里動態的引入HTTP資源,比如引入一個js文件,會被直接block掉的. 在HTTPS頁面里通過AJAX的方式請求HTTP資源,也會被直接block掉的。

客戶端解決辦法

可以在相應的頁面的<head>里加上這句代碼,意思是自動將http的不安全請求升級為https

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

服務器端解決辦法

配置一下 Nginx 和 Tomcat 

nginx location 添加

location / {
           ...
     proxy_set_header X-Forwarded-Proto  $scheme;
        
}

Tomcat server.xml 的 Engine 模塊下配置一個 Valve

<Valve className="org.apache.catalina.valves.RemoteIpValve"
        remoteIpHeader="X-Forwarded-For"
        protocolHeader="X-Forwarded-Proto"
        protocolHeaderHttpsValue="https"/>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM