版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/catoop/article/details/70247993
关于这个错误的详细内容为:
Mixed Content: The page at 'https://a.b.com/detail?id=5' was loaded over HTTPS, but requested an insecure script 'http://a.b.com/xxxxxxx'. This request has been blocked; the content must be served over HTTPS.
这个问题,或许你是再Chrome浏览器的控制台看到的错误提示。
遇到这个问题,既然你百度到这里了,不妨用下面的方法尝试一下是否能解决你的问题。
先简单说一下我的项目部署的结构:
1、nginx
2、tomcat
3、nginx 中配置 https,tomcat 正常使用的 http
出现问题的场景:在进行 redirect 重定向的时候会出现这个问题。
解决问题的过程就不多说了,最终定位的结果是“tomcat的协议http和nginx反向代理的协议https不一致造成的”。
解决方法:
1、在反向代理那里设置一个头 X-Forwarded-Proto
,值设置成 https
。
2、在 Tomcat 的 server.xml 里添加如下配置:
<Valve className="org.apache.catalina.valves.RemoteIpValve" protocolHeader="X-Forwarded-Proto" />
至此,解决我的问题。
如果解决不了你的问题,再百度看看其他资料^_^,很多问题的导致原因可能是多种的。