当前位置:   article > 正文

the content must be served over HTTPS 解决方案

the content must be served

报错的原因就是当前页面是https协议加载的,但是这个页面发起了一个http的ajax请求,这种做法是非法的。HTTPS页面里动态的引入HTTP资源,比如引入一个js文件,会被直接block掉的.在HTTPS页面里通过AJAX的方式请求HTTP资源,也会被直接block掉的。

1. 客户端解决办法
可以在相应的页面的<head>里加上这句代码,意思是自动将http的不安全请求升级为https

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

2. 服务器端解决办法
配置一下 Nginx 或 Tomcat 

nginx location 添加

  1. location / {
  2. ...
  3. proxy_set_header X-Forwarded-Proto $scheme;
  4. #下面这里有http时要改成https
  5. }

Tomcat server.xml 的 Engine 模块下配置一个 Valve

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

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/449012
推荐阅读
相关标签
  

闽ICP备14008679号