背景:
1、SpringBoot+Vue(Vue-cli2)前后端分离;
2、前后端都在本地,只是端口不同,后端每个模块的端口也不同;
3、前后端都没有开发完,不能对前端进行打包成静态资源。
为解决前后端分离中的跨域问题做如下配置。
(1)配置nginx.conf文件如下:nginx监听9001端口并进行访问路径的正则匹配(~波浪号表示正则匹配),serviceedu接口在8001端口上,eduoss在8002端口上。

(2)前端在conf文件夹下修改dev.env.js文件中的BASE_API改为“http://localhost:9001“,使前端直接访问nginx。前端配置如下:

修改完前端配置需要重启前端项目。当重启前端项目,在浏览器中报跨域访问,这里的跨域访问是前端跨域访问nginx。报错如下:

解决:
也不能说是解决,因为配置流程就是这样,并没有错,
说一下失败的原因,注意以下几点:
1、后端接口一定要和nginx.conf中配置的接口相对应,比如nginx.conf中有/serviceedu/这个请求的代理,那后端被代理的接口也一定要在/sreviceedu/对应的路径

本文介绍在SpringBoot+Vue前后端分离项目中,如何利用Nginx解决跨域问题,包括配置Nginx代理不同端口的后端服务,以及前端如何配置访问Nginx。同时讨论了@CrossOrigin注解的使用场景和限制。

1138

被折叠的 条评论
为什么被折叠?



