vue打包后,接口请求404的完美解决方案

Posted wangqiao170

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue打包后,接口请求404的完美解决方案相关的知识,希望对你有一定的参考价值。

在开发环境中,和后台对接为了解决跨域问题,使用了代理,也就是vue的proxyTable,但是打包放到生产环境中去时,接口请求不到,404,原因是开发环境的代理并不能用到生产环境,但是直接在请求接口是使用服务器地址,可以成功,但是会造成cookie丢失而失去权限验证

我脑海里出现有两种办法,一是使用代理,如何解决接口路径请求404的问题,二是直接写请求路径,如何解决cookie丢失的问题

之前因为cookie丢失,后台忙活了很长时间,好不容易才解决的,加之开发环境下并不会丢失,所以我的想法是继续使用代理

在网上找了很多办法,有不少人遇到这个问题,但是基本都没有详细的解决方案,好不容易才找到说可以试试用nginx反向代理的方式,OK,开干

首先,前端还是先不改动,接口路径依然是‘/api/...‘:

技术分享图片

登录服务器,找到nginx的安装目录下:cd /etc/nginx

打开配置文件 vi nginx.conf

按  i  修改,新增

        location /api {
                proxy_set_header   Host             $host;
                proxy_set_header   x-forwarded-for  $remote_addr;
                proxy_set_header   X-Real-IP        $remote_addr;
                proxy_pass http://127.0.0.1:8080; // 接口地址,如果在同一个服务器上,可以直接这样写
        }    

保存退出,先esc,然后保存   :wq!

nginx支持热启动,所以直接重启命令    service nginx reload

OK了,nginx反向代理生效了,现在可以继续用代理,接口请求成功,也不会丢失cookie,皆大欢喜,希望本文对你有所帮助!

 

以上是关于vue打包后,接口请求404的完美解决方案的主要内容,如果未能解决你的问题,请参考以下文章

vue部署到宝塔请求接口报404错误

vue项目axios请求接口,后端代理请求接口404,问题出现在哪?

解决webpack打包vue项目后,部署完成后,刷新页面页面404

vue打包后出现空白,请求不到js数据问题---router 坑

vue打包之后生成一个配置文件修改请求接口

服务器部署—若依vue如何部署到nginx里面?nginx刷新页面404怎么办?完美解决建议收藏