nginx反向代理404问题解决说明

今天是个开心的日子,为啥呢?当然是我耗时多日的Vue+SpringBoot系统上线的日子啦!使用这两个技术编写的项目打包上线还是算蛮简单。后台Java只要会打 JAR 包就行(因为所有的依赖都会打包进去),前端Vue那是简单只需要 npm run build 操作即可。

那么在上线过程中会遇到什么问题呢?

问题1: Vue项目打包完之后接口请求不到后端出现404错误,这是由于Vue项目打包之后 proxyTable代理配置失效了!
问题2: 由于Vue项目打包之后代理失败,那么就需要使用Nginx进行反向代理请求了,可是还是出现404错误。在nginx中配置proxy_pass反向代理时,当在后面的url加上了 “/”,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走;如果没有 “/”,则会把匹配的路径部分也给代理走。

举个例子: 访问接口为 /api/menu/getMenuList

当nginx配置文件proxy_pass后边的url端口后面带"/"时,代理到后端的路径为:http://127.0.0.1:8080/menu/getMenuList,省略了匹配到的/api/路径;

location /api/ { 
  proxy_pass   http://127.0.0.1:8080/;
}

当nginx配置文件proxy_pass后边的url端口后面不带"/"时,代理到后端的路径为:http://127.0.0.1:8080/api/menu/getMenuList,连同匹配到的/api/路径一起代理了;

location /api/ { 
  proxy_pass   http://127.0.0.1:8080;
}

以上就是我对Nginx反向代理的理解,如果文章由于我学识浅薄,导致您发现有严重谬误的地方,请一定在评论中指出,我会在第一时间修正我的文章,以避免误人子弟。

  • 22
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值