前后端分离项目htttps和http出现跨域问题

    最近搞一个前后端分离的项目,遇到如下跨域问题。

前端部署在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地址。

这个方法是成功了,也是最简单的。不用去改代码了。

你可能感兴趣的:(问题处理)