From 87fe115677bd34a911944f263f37c13b624a2fd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Thu, 26 Feb 2026 13:43:20 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=20undertow=20=E6=96=B0?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E6=97=A0=E6=B3=95=E4=B8=8A=E4=BC=A0=E5=A4=A7?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../org/dromara/common/web/config/UndertowConfig.java | 11 +++++++++++ script/config/nacos/application-common.yml | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index fd110b8c4..839dbeeb9 100644 --- a/pom.xml +++ b/pom.xml @@ -17,7 +17,7 @@ UTF-8 UTF-8 17 - 3.5.9 + 3.5.11 2025.0.1 3.5.6 3.5.19 diff --git a/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/config/UndertowConfig.java b/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/config/UndertowConfig.java index 25244c9c1..b201dfd10 100644 --- a/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/config/UndertowConfig.java +++ b/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/config/UndertowConfig.java @@ -1,11 +1,14 @@ package org.dromara.common.web.config; +import io.undertow.UndertowOptions; import io.undertow.server.DefaultByteBufferPool; import io.undertow.server.handlers.DisallowedMethodsHandler; import io.undertow.util.HttpString; import io.undertow.websockets.jsr.WebSocketDeploymentInfo; import org.dromara.common.core.utils.SpringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.AutoConfiguration; +import org.springframework.boot.autoconfigure.web.ServerProperties; import org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory; import org.springframework.boot.web.server.WebServerFactoryCustomizer; import org.springframework.core.task.VirtualThreadTaskExecutor; @@ -18,6 +21,9 @@ import org.springframework.core.task.VirtualThreadTaskExecutor; @AutoConfiguration public class UndertowConfig implements WebServerFactoryCustomizer { + @Autowired + private ServerProperties serverProperties; + /** * 自定义 Undertow 配置 * @@ -31,6 +37,11 @@ public class UndertowConfig implements WebServerFactoryCustomizer { + builder.setServerOption(UndertowOptions.MULTIPART_MAX_ENTITY_SIZE, bytes); + }); + // 默认不直接分配内存 如果项目中使用了 websocket 建议直接分配 factory.addDeploymentInfoCustomizers(deploymentInfo -> { // 配置 WebSocket 部署信息,设置 WebSocket 使用的缓冲区池 diff --git a/script/config/nacos/application-common.yml b/script/config/nacos/application-common.yml index db437fb7f..053113150 100644 --- a/script/config/nacos/application-common.yml +++ b/script/config/nacos/application-common.yml @@ -2,7 +2,7 @@ server: # undertow 配置 undertow: # HTTP post内容的最大大小。当值为-1时,默认值为大小是无限的 - max-http-post-size: -1 + max-http-post-size: 1GB # 以下的配置会影响buffer,这些buffer会用于服务器连接的IO操作,有点类似netty的池化内存管理 # 每块buffer的空间大小,越小的空间被利用越充分 buffer-size: 512
@@ -31,6 +37,11 @@ public class UndertowConfig implements WebServerFactoryCustomizer { + builder.setServerOption(UndertowOptions.MULTIPART_MAX_ENTITY_SIZE, bytes); + }); + // 默认不直接分配内存 如果项目中使用了 websocket 建议直接分配 factory.addDeploymentInfoCustomizers(deploymentInfo -> { // 配置 WebSocket 部署信息,设置 WebSocket 使用的缓冲区池 diff --git a/script/config/nacos/application-common.yml b/script/config/nacos/application-common.yml index db437fb7f..053113150 100644 --- a/script/config/nacos/application-common.yml +++ b/script/config/nacos/application-common.yml @@ -2,7 +2,7 @@ server: # undertow 配置 undertow: # HTTP post内容的最大大小。当值为-1时,默认值为大小是无限的 - max-http-post-size: -1 + max-http-post-size: 1GB # 以下的配置会影响buffer,这些buffer会用于服务器连接的IO操作,有点类似netty的池化内存管理 # 每块buffer的空间大小,越小的空间被利用越充分 buffer-size: 512