liusuyi
2025-12-23 7b062016854168116094f780228a3e2f163d98b8
优化
1 files modified
21 ■■■■■ changed files
ard-oss/src/main/java/com/ard/oss/service/impl/MinIOServiceImpl.java 21 ●●●●● patch | view | raw | blame | history
ard-oss/src/main/java/com/ard/oss/service/impl/MinIOServiceImpl.java
@@ -9,7 +9,10 @@
import io.minio.errors.*;
import io.minio.http.Method;
import lombok.extern.slf4j.Slf4j;
import okhttp3.ConnectionPool;
import okhttp3.ConnectionSpec;
import okhttp3.OkHttpClient;
import okhttp3.TlsVersion;
import org.springframework.stereotype.Service;
import javax.net.ssl.SSLContext;
@@ -25,7 +28,9 @@
import java.security.ProviderException;
import java.security.SecureRandom;
import java.security.cert.X509Certificate;
import java.util.Collections;
import java.util.Objects;
import java.util.concurrent.TimeUnit;
import static com.ard.common.config.OssConfiguration.*;
@@ -74,9 +79,18 @@
            };
            SSLContext sslContext = SSLContext.getInstance("TLSv1.2");
            sslContext.init(null, trustAllCerts, new SecureRandom());
            ConnectionSpec spec = new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
                    .tlsVersions(TlsVersion.TLS_1_2)
                    .allEnabledCipherSuites()
                    .build();
            OkHttpClient httpClient = new OkHttpClient.Builder()
                    .sslSocketFactory(sslContext.getSocketFactory(), (X509TrustManager) trustAllCerts[0])
                    .sslSocketFactory(sslContext.getSocketFactory(),
                            (X509TrustManager) trustAllCerts[0])
                    .hostnameVerifier((hostname, session) -> true)
                    .connectionSpecs(Collections.singletonList(spec)) // ⭐关键
                    .connectionPool(new ConnectionPool(0, 1, TimeUnit.SECONDS)) // ⭐禁用复用
                    .build();
            // 构建 AssumeRoleProvider,使用自定义 httpClient
@@ -244,6 +258,11 @@
            OkHttpClient httpClient = new OkHttpClient.Builder()
                    .sslSocketFactory(sslSocketFactory, (X509TrustManager) trustAllCerts[0])
                    .hostnameVerifier((hostname, session) -> true)
                    .connectionSpecs(Collections.singletonList(
                            new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
                                    .tlsVersions(TlsVersion.TLS_1_2)   // 强制 TLS1.2
                                    .build()
                    ))
                    .build();
            this.client = MinioClient.builder()