MangoCool

springboot从2.4.10升级到2.7.18后,nginx代理访问,接口请求404问题

2024-03-05 16:30:23   作者:anobody   来源:MangoCool

springboot从2.4.10升级到2.7.18后,接口直接访问正常,一旦经过nginx代理访问就报404

提示:{"statusCode":200,"comments":"成功","data":{"timestamp":"2024-03-05T08:17:48.006+00:00","status":404,"error":"Not Found","path":"/xxxx_test//v1/manuscripts"}}

问题分析:

1. 以前访问没问题,升级后就有问题了

2. 从请求来看,业务状态码已经返回200了,证明服务访问正常

3. 错误不是有nginx抛出,证明nginx也是没问题的

应该是兼容性问题,问题很有可能出在nginx到服务端

从访问地址来看,经核实是正确的,除了访问的地址中间多了一个/;开始不以为然,因为经验分析,多出来的/都会被兼容处理,并无问题

但是排查一段时间后,从拦截器,请求地址,nginx配置项等方面入手后,最终都没有解决问题

左思右想,已经没辙了,最后还是回归到错误提示,打算试一试,先解决多余的/,结果是:解决!!!

还真是多了/的原因,2.7.18版本开始已经不兼容处理多余的/了,看来还得严谨!

当时我的nginx配置是这的:

location /xxxx_test {
    proxy_pass http://127.0.0.1:9997/xxxx_test/;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host:$server_port;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_redirect off;
}

解决办法:nginx配置proxy_pass改成http://127.0.0.1:9997/xxxx_test

标签: springboot 2.7.18 404 nginx

分享:

下一篇Unable to find a single main class from the following candidates [com.xx.xxApplication, com.xx.Application]

关于我

崇尚极简,热爱技术,喜欢唱歌,热衷旅行,爱好电子产品的一介码农。

座右铭

当你的才华还撑不起你的野心的时候,你就应该静下心来学习,永不止步!

人生之旅历途甚长,所争决不在一年半月,万不可因此着急失望,招精神之萎葸。

Copyright 2015- 芒果酷(mangocool.com) All rights reserved. 湘ICP备14019394号

免责声明:本网站部分文章转载其他媒体,意在为公众提供免费服务。如有信息侵犯了您的权益,可与本网站联系,本网站将尽快予以撤除。