linux服务器部署springboot+vue跨域问题

今天在自己的服务器上部署了一下前几天写的springboot+vue的前后端分离项目。按照常规操作,将springboot项目打包成jar包,将vue项目打包成dist文件夹放在服务器中,通过nginx反向代理,访问vue首页。以下是我自己的nginx配置。

server
    {
        listen 80;
        server_name localhost;
        location /
        {
            root   html/dist;
            index  index.html index.htm;
        }
         
    }

通过nginx的反向代理,访问80端口,页面正常渲染,但是数据却没有,这是为什么呢,于是我单独访问后端接口,发现能够接受到json数据,打开前端页面进入f12,发现报错

很明显,这是后端拒绝了请求,也就是跨域问题,但是我本地访问是没问题的,这是为什么呢,通过复查代码,我发现,原来之前在本地解决跨域问题的时候,不是通过前端设置代理,而是直接通过后端设置的拦截器,这也就导致,前端axios提交的请求路径是没有改变的,而到了服务器上运行,后端拦截器接收到的就不再是原来的localhost的请求,而是服务器ip地址的请求,也就毫无疑问被拦截下来了。

解决方案

1.分别修改前端axios的请求路径和后端拦截路径

2.使用前端代理解决跨域问题,而不是通过后端拦截器解决

猜你喜欢

转载自blog.csdn.net/qq_28174545/article/details/121766104