content=upgrade-insecure-requests-强制转http为https

上一篇文章写了关于 前端js css文件报错net::ERR_SSL_PROTOCOL_ERROR 的问题。

问题:nginx可以连接,但是无法加载页面
可以进入html页面,但是在请求资源的时候会自动将http转为https,导致页面无法正常链接nginx,无法加载页面;
一开始以为是nginx写的有问题,去验证了其他项目,都正常,所以排除这种可能,下面感觉是不是依赖除了问题,删掉重新装,也没有用,然后我运行了本地其他项目,看到加载资源的时候就是http,而新项目会转为https,这就是一个突破口,越想越觉得可能是这个问题,自行百度,就找到了解决方案

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

这个是写在入口文件中的,作用经查询说是会自动将域名的http转为https,看一下官方的解释吧:
在这里插入图片描述
也就是说在请求头加一个这个设置,浏览器会自动转为一个https的状态,知道了这个原因,就在html中去掉了这部分代码,项目就正常运行了。

附:
浏览器的请求头出现的

upgrade-insecure-requests:1

这行代码表示能读懂服务器发过来的上面这条信息,并且在以后发请求的时候不用http而用https。
而,

Content-Security-Policy:upgrade-insecure-requests

是对应服务器响应头的。该指令用于让浏览器自动升级请求从http到https,用于大量包含http资源的http

网页直接升级到https而不会报错.简洁的来讲,就相当于在http和https之间起的一个过渡作用.
比如:
在这里插入图片描述
如果在https网页中跨域(已使用CORS解决)载入一个http的资源,那么它会将所有连接强制以https或wss等SSL加密形式发送请求,这样如果资源不支持https等SSL加密,那么该资源就不会被载入

所以,尽量使用nginx代理本地运行项目,和线上尽量保持一致
注意html头部的这个引入:

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值