提问人:Pawan Patil 提问时间:11/1/2023 最后编辑:Anish B.Pawan Patil 更新时间:11/2/2023 访问量:98
如何使用 Netty 增加 Spring WebFlux 中的请求标头大小?
How to increase request header size in Spring WebFlux with Netty?
问:
有没有办法在带有嵌入式 Netty 服务器的 Spring WebFlux 中为请求配置最大 http 请求标头大小?
我收到以下异常。
io.netty.handler.codec.http2.Http2Exception$HeaderListSizeException: 标头大小超出了允许的最大大小 (8192)
我试图使用这个属性,但它没有用。server.max-http-header-size
答:
0赞
Pawan Patil
11/2/2023
#1
我按照 Spring Cloud 和 Spring Boot 提供的兼容性矩阵,将 Spring Boot 版本从 2.3.12.RELEASE 升级到 2.7.0,将 Spring Cloud 版本从 Hoxton.SR9 升级到 2021.0.3,解决了这个问题。
此外,我还实现了 WebServerFactoryCustomizer 接口和重写的自定义方法,我在其中编写了逻辑以增加标头大小。这是我用来实现此目的的代码片段
@Component
public class CustomizeNetty implements WebServerFactoryCustomizer<NettyReactiveWebServerFactory> {
@Override
public void customize(NettyReactiveWebServerFactory factory) {
factory.addServerCustomizers(httpServer -> httpServer.http2Settings(builder -> builder.maxHeaderListSize(65536)));
}
}
评论
server.max-http-header-size=10KB