nginx 转发请求给jar包,提示404

博客讲述了在使用Nginx时遇到的一个404错误问题,原因是proxy_pass配置中缺少了一个斜杠,导致请求路径解析错误。通过修正配置文件,在proxy_pass后面添加斜杠,成功解决了请求转发的问题。此外,还提到了没有网站根目录的情况,以及与Tomcat服务器的路径处理区别。
摘要由CSDN通过智能技术生成

域名:test.com

转发路径:localhost:8099

请求路径:test.com/A/B/xxx

请求test.com/A/B/xxx提示404,直接请求localhost:8099没问题。

nginx的配置文件如下:

location ^~/A/B/ {

   proxy_pass http://localhost:8099;
}

后来发现问题是少了个/

正确配置如下:

location ^~/A/B/ {

   proxy_pass http://localhost:8099/;
}

直接请求端口是 curl http://localhost:8099/api #返回正常结果

原先请求域名是 curl http://test.com/A/B/api #返回404,因为少了个/ ,所以nginx的proxy_pass转发的时候就是转发成了 http://localhost:8099api ,少了个/,所以找不到8099端口里,多了个/,就会正常,http://localhost:8099/ ,再拼上api,就整出来。

因为是jar包,没有网站根目录,所以/也就不存在,只能手动加上绝对路径了,如果是tomcat,会有网站根目录ROOT,去网站根目录ROOT下寻找地址了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值