优秀的编程知识分享平台

网站首页 > 技术文章 正文

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

nanyue 2024-10-15 11:36:05 技术文章 4 ℃

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

不料这下出事了

我一看这错误,也没细想,那肯定是业务服务的请求头大小不满足条件呀,果断去改了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!

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

Tags:

最近发表
标签列表