如何在 spring boot 2.x 应用程序中设置 max-http-header-size

Min*_*nas 16 java spring-boot

我有运行 Java 11 的 Spring 启动应用程序:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)

我收到错误: java.lang.IllegalArgumentException: Request header is too large

怎么增加max-http-header-size

小智 20

您应该在“application.properties”文件上设置:

server.max-http-header-size=48000
Run Code Online (Sandbox Code Playgroud)

48000 是一个过度标头的例子,随便放。

  • @阿卡什字节。因此,在此示例中,“48000”表示 48KB。 (2认同)

Man*_*nie 13

从 Spring boot 2.1 开始,您现在需要使用DataSize可解析的值。例如

server.max-http-header-size=40KB
Run Code Online (Sandbox Code Playgroud)


san*_*oco 6

max-http-header-size属性自 Spring Boot 3 起已弃用。

现在您可以使用max-http-request-header-size

server:
    max-http-request-header-size: 12KB
Run Code Online (Sandbox Code Playgroud)

注意:该值必须是 a DataSize,这非常干净。您可以使用1KB代替1000. 数据大小文档


reb*_*mer 5

请尝试server.max-http-header-size。我在这里找到了它:Common application properties

Tomcat 和 Jetty 的默认值为 8KB,而 Undertow 的默认值为 1MB。