赞
踩
最近搞一个前后端分离的项目,遇到如下跨域问题。
前端部署在A服务器上,并配置Ngnix,通过Https://xxxx访问,然后前端代码里配置url=http://xxxxx直接访问后端服务器B。
就产生了以上跨域问题。
刚开始问题排查:
1,以为是nginx所在服务器访问不了后台服务器B。curl发现网络是通的,没问题。
2,以为是后端代码不能接收http的请求,需要改代码,重新打包。这样太麻烦,而且不一定有用。
3,以为是访问后端也要通过Nginx来转发,试了,无效。
4,最后高手看了,发现是浏览器向后端发起的http请求,和访问前端页面的https请求不一致造成跨域了,
所以必须把浏览器访问后端的请求也改为Https的方式才行。
解决办法:新增一个后端访问的nginx配置,通过https的方式来访问后端服务器B。前端代码url改为对应Https://xxx地址。
这个方法是成功了,也是最简单的。不用去改代码了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。