upgrade-insecure-requests强制转http为https

14 篇文章 0 订阅
1 篇文章 0 订阅

1.问题

1)applyMiddleware中间件和nginx代理是不完全一样的

项目在本地运行,刚开始使用中间件applyMiddleware去代理,一起正常,但是放在线上使用nginx代理,就会出现接口不通的现象,因为这个api登录接口直接写的是:url/login,而其他接口是/url/v1/xxx的形式, 放在线上之后登陆接口没法正常登录,这个解决方式要么写两个代理,登录和其他接口各一个,要么让后台给登陆加个v1即可,前端代理也方便,我选了联系后台处理,这个是后话了,在解决这个问题前,遇到了问题2);

2)nginx可以连接,但是无法加载页面

可以进入html页面,但是在请求资源的时候会自动将http转为https,导致页面无法正常链接nginx,无法加载页面;

2.思路

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

先认识一段代码:

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

这个是写在入口文件中的,作用经查询说是会自动将域名的http转为https,看一下官方的解释吧:

 也就是说在请求头加一个这个设置,浏览器会自动转为一个https的状态,知道了这个原因,就在html中去掉了这部分代码,项目就正常运行了。

3.结论

尽量使用nginx代理本地运行项目,和线上尽量保持一致

注意html头部的这个引入:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值