报错的原因就是当前页面是https协议加载的,但是这个页面发起了一个http的ajax请求,这种做法是非法的。https页面里动态的引入http资源,比如引入一个js文件,会被直接block掉的.在https页面里通过ajax的方式请求http资源,也会被直接block掉的。
1. 客户端解决办法
可以在相应的页面的<head>里加上这句代码,意思是自动将http的不安全请求升级为https
2. 服务器端解决办法
配置一下 nginx 或 tomcat
nginx location 添加
location / {
...
proxy_set_header x-forwarded-proto $scheme;
#下面这里有http时要改成https
}
tomcat server.xml 的 engine 模块下配置一个 valve
<valve classname="org.apache.catalina.valves.remoteipvalve"
remoteipheader="x-forwarded-for"
protocolheader="x-forwarded-proto"
protocolheaderhttpsvalue="https"/>
发表评论