参考:https://blog.youkuaiyun.com/qq_34083066/article/details/103689859
我用的spring cloud gateway版本是Greenwich.SR2版,比上面作者的版本新一些。不需要重写NettyReactiveWebServerFactory方法,可能是新版本已经修复了这个问题,直接设置下面的消息头限制大小,就能生效
一、修改gateway的消息头限制大小
server:
# 设置webflux netty的请求头大小为100kb
max-http-header-size: 102400
源码里面默认gateway上面的netty的默认消息头大小是8KB
修改后,debug源码NettyReactiveWebServerFactory的getWebServer方法,看到httpServer里面的maxHeaderSize=102400
说明配置已经生效
二、修改下游微服务的消息头限制大小
server:
# 设置spring mvc servlet的请求头大小为100kb
max-http-header-size: 102400