From 2ac50845666be3d6c4117029fae4ab322548df07 Mon Sep 17 00:00:00 2001 From: mediabot-pt <295750538+mediabot-pt@users.noreply.github.com> Date: Tue, 30 Jun 2026 17:23:29 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20Qiniu=20=E4=B8=8B=E8=BD=BD=E5=9F=9F?= =?UTF-8?q?=E5=90=8D=E6=94=B9=E4=B8=BA=20QINIU=5FDOWNLOAD=5FDOMAIN=20?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/par/core/storage/QiniuStorageService.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/par-core/src/main/java/com/par/core/storage/QiniuStorageService.java b/par-core/src/main/java/com/par/core/storage/QiniuStorageService.java index 3a1000b..b6c7412 100644 --- a/par-core/src/main/java/com/par/core/storage/QiniuStorageService.java +++ b/par-core/src/main/java/com/par/core/storage/QiniuStorageService.java @@ -32,7 +32,7 @@ public class QiniuStorageService implements StorageService { private BucketManager bucketManager; private Auth auth; private String bucket; - private String cdnDomain; + private String downloadDomain; private synchronized void ensureInit() { if (bucket != null) return; @@ -40,7 +40,7 @@ public class QiniuStorageService implements StorageService { String sk = env("QINIU_SK"); String region = env("QINIU_REGION", "z2"); this.bucket = env("QINIU_BUCKET", "par-configs"); - this.cdnDomain = env("QINIU_DOMAIN", "http://" + bucket + ".qiniucdn.com"); + this.downloadDomain = env("QINIU_DOWNLOAD_DOMAIN", "http://" + bucket + ".qiniudn.com"); this.auth = Auth.create(ak, sk); Configuration cfg = new Configuration(switch (region) { case "z0" -> Region.region0(); @@ -52,7 +52,7 @@ public class QiniuStorageService implements StorageService { }); this.uploadManager = new UploadManager(cfg); this.bucketManager = new BucketManager(auth, cfg); - log.info("Qiniu 存储就绪: bucket={}, domain={}", bucket, cdnDomain); + log.info("Qiniu 存储就绪: bucket={}", bucket); } @Override @@ -70,15 +70,15 @@ public class QiniuStorageService implements StorageService { @Override public String read(String path) { ensureInit(); - // 私有空间走认证源站下载 - String sourceUrl = "http://" + bucket + ".qiniudn.com/" + path; - String signedUrl = auth.privateDownloadUrl(sourceUrl, 3600); + // 使用配置的下载域名生成私密下载链接 + String baseUrl = downloadDomain.endsWith("/") ? downloadDomain + path : downloadDomain + "/" + path; + String signedUrl = auth.privateDownloadUrl(baseUrl, 3600); try { var req = HttpRequest.newBuilder().uri(URI.create(signedUrl)) .timeout(Duration.ofSeconds(10)).GET().build(); var resp = httpClient.send(req, HttpResponse.BodyHandlers.ofString()); if (resp.statusCode() == 200) return resp.body(); - log.warn("Qiniu 读取失败 {}: HTTP {}", path, resp.statusCode()); + log.warn("Qiniu 读取失败 {}: HTTP {} (domain={})", path, resp.statusCode(), downloadDomain); } catch (Exception e) { log.warn("Qiniu 读取失败 {}: {}", path, e.getMessage()); }