參考:https://blog.csdn.net/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