Browse Source

update 更新 所有 oss 均支持 https 配置

疯狂的狮子li 3 years ago
parent
commit
86d5a1d190

+ 11 - 6
ruoyi-oss/src/main/java/com/ruoyi/oss/constant/OssConstant.java

@@ -8,31 +8,36 @@ import java.util.List;
  *
  * @author Lion Li
  */
-public class OssConstant {
+public interface OssConstant {
 
     /**
      * OSS模块KEY
      */
-    public static final String SYS_OSS_KEY = "sys_oss:";
+    String SYS_OSS_KEY = "sys_oss:";
 
     /**
      * 对象存储配置KEY
      */
-    public static final String OSS_CONFIG_KEY = "OssConfig";
+    String OSS_CONFIG_KEY = "OssConfig";
 
     /**
      * 缓存配置KEY
      */
-    public static final String CACHE_CONFIG_KEY = SYS_OSS_KEY + OSS_CONFIG_KEY;
+    String CACHE_CONFIG_KEY = SYS_OSS_KEY + OSS_CONFIG_KEY;
 
     /**
      * 预览列表资源开关Key
      */
-    public static final String PEREVIEW_LIST_RESOURCE_KEY = "sys.oss.previewListResource";
+    String PEREVIEW_LIST_RESOURCE_KEY = "sys.oss.previewListResource";
 
     /**
      * 系统数据ids
      */
-    public static final List<Integer> SYSTEM_DATA_IDS = Arrays.asList(1, 2, 3, 4);
+    List<Integer> SYSTEM_DATA_IDS = Arrays.asList(1, 2, 3, 4);
+
+    /**
+     * https 状态
+     */
+    String IS_HTTPS = "Y";
 
 }

+ 5 - 0
ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/AliyunOssStrategy.java

@@ -3,11 +3,13 @@ package com.ruoyi.oss.service.impl;
 import com.aliyun.oss.ClientConfiguration;
 import com.aliyun.oss.OSSClient;
 import com.aliyun.oss.common.auth.DefaultCredentialProvider;
+import com.aliyun.oss.common.comm.Protocol;
 import com.aliyun.oss.model.CannedAccessControlList;
 import com.aliyun.oss.model.CreateBucketRequest;
 import com.aliyun.oss.model.ObjectMetadata;
 import com.aliyun.oss.model.PutObjectRequest;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.oss.constant.OssConstant;
 import com.ruoyi.oss.entity.UploadResult;
 import com.ruoyi.oss.enumd.OssEnumd;
 import com.ruoyi.oss.exception.OssException;
@@ -33,6 +35,9 @@ public class AliyunOssStrategy extends AbstractOssStrategy {
         super.init(ossProperties);
         try {
             ClientConfiguration configuration = new ClientConfiguration();
+            if (OssConstant.IS_HTTPS.equals(ossProperties.getIsHttps())) {
+                configuration.setProtocol(Protocol.HTTPS);
+            }
             DefaultCredentialProvider credentialProvider = new DefaultCredentialProvider(
                 properties.getAccessKey(), properties.getSecretKey());
             client = new OSSClient(properties.getEndpoint(), credentialProvider, configuration);

+ 2 - 1
ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/MinioOssStrategy.java

@@ -1,6 +1,7 @@
 package com.ruoyi.oss.service.impl;
 
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.oss.constant.OssConstant;
 import com.ruoyi.oss.entity.UploadResult;
 import com.ruoyi.oss.enumd.OssEnumd;
 import com.ruoyi.oss.enumd.PolicyType;
@@ -29,7 +30,7 @@ public class MinioOssStrategy extends AbstractOssStrategy {
         super.init(ossProperties);
         try {
             minioClient = MinioClient.builder()
-                .endpoint(properties.getEndpoint())
+                .endpoint(properties.getEndpoint(), 443, OssConstant.IS_HTTPS.equals(ossProperties.getIsHttps()))
                 .credentials(properties.getAccessKey(), properties.getSecretKey())
                 .build();
             createBucket();

+ 2 - 1
ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QcloudOssStrategy.java

@@ -8,6 +8,7 @@ import com.qcloud.cos.http.HttpProtocol;
 import com.qcloud.cos.model.*;
 import com.qcloud.cos.region.Region;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.oss.constant.OssConstant;
 import com.ruoyi.oss.entity.UploadResult;
 import com.ruoyi.oss.enumd.OssEnumd;
 import com.ruoyi.oss.exception.OssException;
@@ -38,7 +39,7 @@ public class QcloudOssStrategy extends AbstractOssStrategy {
             ClientConfig clientConfig = new ClientConfig();
             // 设置bucket所在的区域,华南:gz 华北:tj 华东:sh
             clientConfig.setRegion(new Region(properties.getRegion()));
-            if ("Y".equals(properties.getIsHttps())) {
+            if (OssConstant.IS_HTTPS.equals(properties.getIsHttps())) {
                 clientConfig.setHttpProtocol(HttpProtocol.https);
             } else {
                 clientConfig.setHttpProtocol(HttpProtocol.http);

+ 2 - 2
ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QiniuOssStrategy.java

@@ -7,6 +7,7 @@ import com.qiniu.storage.Configuration;
 import com.qiniu.storage.Region;
 import com.qiniu.storage.UploadManager;
 import com.qiniu.util.Auth;
+import com.ruoyi.oss.constant.OssConstant;
 import com.ruoyi.oss.entity.UploadResult;
 import com.ruoyi.oss.enumd.OssEnumd;
 import com.ruoyi.oss.exception.OssException;
@@ -35,8 +36,7 @@ public class QiniuOssStrategy extends AbstractOssStrategy {
         try {
             Configuration config = new Configuration(getRegion(properties.getRegion()));
             // https设置
-            config.useHttpsDomains = false;
-            config.useHttpsDomains = "Y".equals(properties.getIsHttps());
+            config.useHttpsDomains = OssConstant.IS_HTTPS.equals(properties.getIsHttps());
             uploadManager = new UploadManager(config);
             auth = Auth.create(properties.getAccessKey(), properties.getSecretKey());
             bucketManager = new BucketManager(auth, config);