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
分享:
崇尚极简,热爱技术,喜欢唱歌,热衷旅行,爱好电子产品的一介码农。
联系QQ:58742094
联系电话:
工作邮箱:
当你的才华还撑不起你的野心的时候,你就应该静下心来学习,永不止步!
人生之旅历途甚长,所争决不在一年半月,万不可因此着急失望,招精神之萎葸。
Copyright 2015- 芒果酷(mangocool.com) All rights reserved. 湘ICP备14019394号
免责声明:本网站部分文章转载其他媒体,意在为公众提供免费服务。如有信息侵犯了您的权益,可与本网站联系,本网站将尽快予以撤除。