Nginx 414 Request-URI Too Large,看这一篇就够了

事件的起因是这样的。一般订单页面会有根据单号去查询的功能,但是客户想一次录入多个单号然后查询多条单据,前端传入的单号可以使用逗号或者空格拼接,本来这个功能也算正常,但是客户在实际使用的时候,居然一次传了几百个单号......

不料这下出事了

我一看这错误,也没细想,那肯定是业务服务的请求头大小不满足条件呀,果断去改了application.yml

server:max-http-header-size: 1MB

max-http-header-size的默认大小为8KB,正常情况下是够用的。为以防万一,还特意本地调试了下,非常OK。

自信满满地发布了测试环境并通知了测试,未曾想打脸只在一瞬间,依然报错!!!???

有点东西,我认真了,有种你别跑。我又看了眼报错信息,发现nginx的字样,恍然大悟。赶忙去修改了nginx.conf,在http块下新增如下配置

client_header_buffer_size 1m;

这个属性的默认值为1KB。使用以下命令重新加载配置

nginx -s reload

心想这下应该可以了吧,来来来测试。

呵呵,nginx的报错没了,来了个新的家伙:Request failed with status code 413.

再次陷入困境,还有哪里有问题?苦思冥想,我是不是还有个Gateway网关呢?!跟业务服务一样加上max-http-header-size配置后,满心欢喜地去发布,然后偷偷去点了下。WTF,居然还还还不行,这下真的是被逼入绝境了。

开始各种百度查资料,资料也并不多,碰碰运气吧。经过不懈地努力搜寻,抱着试一试的态度,在Gatewayapplication.yml中加上了下面的配置

server:netty:max-initial-line-length: 1MB

哈哈哈,Oh yeah!

希望可以帮到大家,有问题大家可以一起交流学习!


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部