the content must be served over HTTPS报错

项目从http切换到https后,遇到静态资源报错需通过HTTPS访问。解决方案包括手动替换链接、添加页面头部强制转换代码,或配置Nginx与Tomcat实现自动转换。

项目最近访问地址由http转到https上,访问一些静态资源出现the content must be served over HTTPS.这些资源都是用的原http开头的地址,都需要变成https访问。

解决方案有3种

第一种,把所有涉及到需要访问的静态数据挨个有原http的地址换成https(不推荐) 

第二种,可以在相应的页面的<head>里加上强制转换代码,把http访问都强制https访问

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

第三种,通过配置 Nginx 和 Tomcat来实现

在 Nginx的nginx.conf文件里加入proxy_set_header X-Forwarded-Proto $scheme;代码块

location ^~ /xx {
			proxy_pass	http://localhost:8080/xxx;
			proxy_set_header Host $http_host;
			proxy_set_header X-Forwarded-Proto  $scheme;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		}

在Tomcat的server.xml 的 Engine 模块里配置一个 Valve代码块

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

这样https就可以正常访问了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rainjm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值