From a6a2e14abf7632035d103db7cba6d2e45e05560e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Fri, 7 Aug 2026 03:03:25 +0800 Subject: [PATCH] =?UTF-8?q?fix(storage):=20=E5=85=B3=E9=97=AD=20MinIO=20CN?= =?UTF-8?q?AME=20=E6=94=AF=E6=8C=81=E8=A7=A3=E5=86=B3=E8=AF=81=E4=B9=A6?= =?UTF-8?q?=E4=B8=8D=E5=8C=B9=E9=85=8D=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 AliOssController 中关闭 MinIO 的 CNAME 支持,避免自定义域名被当作 CNAME - 强制使用 path-style 访问方式,解决虚拟主机风格导致的证书不匹配 - 在 FileRecordServiceImpl 中同步应用同样的配置修改 - 修复了因 OSSV4Signer.getRegion() 返回 null 导致的 NPE 问题 --- .../gxwebsoft/common/system/controller/AliOssController.java | 3 +++ .../common/system/service/impl/FileRecordServiceImpl.java | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/main/java/com/gxwebsoft/common/system/controller/AliOssController.java b/src/main/java/com/gxwebsoft/common/system/controller/AliOssController.java index 5b3e1bc..3611f9e 100644 --- a/src/main/java/com/gxwebsoft/common/system/controller/AliOssController.java +++ b/src/main/java/com/gxwebsoft/common/system/controller/AliOssController.java @@ -125,6 +125,9 @@ public class AliOssController extends BaseController { // 必须显式指定(MinIO 默认 us-east-1),否则 OSSV4Signer.getRegion() 为 null 触发 NPE。 minioConfig.setSignatureVersion(SignVersion.V4); minioConfig.setExtractSettingFromEndpoint(true); + // 关闭 CNAME:默认 true 会让 SDK 把自定义域名当 CNAME,走 bucket.endpoint 虚拟主机风格, + // 触发 *.minio-api.websoft.top 证书不匹配。关闭后强制 path-style(endpoint/bucket/key)。 + minioConfig.setSupportCname(false); ossClient = OSSClientBuilder.create() .endpoint(endpoint) .credentialsProvider(credentialsProvider) diff --git a/src/main/java/com/gxwebsoft/common/system/service/impl/FileRecordServiceImpl.java b/src/main/java/com/gxwebsoft/common/system/service/impl/FileRecordServiceImpl.java index 8c915e5..2ed5bfb 100644 --- a/src/main/java/com/gxwebsoft/common/system/service/impl/FileRecordServiceImpl.java +++ b/src/main/java/com/gxwebsoft/common/system/service/impl/FileRecordServiceImpl.java @@ -105,6 +105,9 @@ public class FileRecordServiceImpl extends ServiceImpl