报错:Mixed Content: The page at 'https://***/login.jsp' was loaded over HTTPS, but requested an ins...

集成CA后,项目内的静态资源无法访问。

报错:Mixed Content: The page at 'https://***/login.jsp' was loaded over HTTPS, but requested an ins..._第1张图片

 

控制台报错如下:

报错:Mixed Content: The page at 'https://***/login.jsp' was loaded over HTTPS, but requested an ins..._第2张图片

报错信息如下:

1 Mixed Content: The page at 'https://login.jsp' was loaded over HTTPS, but requested an insecure stylesheet 'http://login.css'. This content should also be served over HTTPS.

问题解析:

在使用tomcat+nginx时。Nginx使用https,tomcat使用http。使用iframe之类框架,在重定向时会出现以上问题导致页面加载不出来。这是因为Tomcat不能知道Nginx发来的是http还是https。

让tomcat知道nginx发来的是http还是https。默认情况下,nginx得到的https的访问会以http的方式发给负载的tomcat。

如果让tomcat知道是https的,需要如下配置:

(1)配置 Nginx 的转发选项:

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Proto $scheme;

 

(2)配置Tomcat server.xml 的 Engine 模块下配置一个 Value: 

配置双方的 X-Forwarded-Proto 就是为了正确地识别实际用户发出的协议是 http 还是 https。

X-Forwarded-For 是为了获得实际用户的 IP。

 

问题解决:

 

报错:Mixed Content: The page at 'https://***/login.jsp' was loaded over HTTPS, but requested an ins..._第3张图片

你可能感兴趣的:(CA)