diff --git a/hutool-http/src/main/java/org/dromara/hutool/http/HttpGlobalConfig.java b/hutool-http/src/main/java/org/dromara/hutool/http/HttpGlobalConfig.java
index 92d560723..f7a386a72 100644
--- a/hutool-http/src/main/java/org/dromara/hutool/http/HttpGlobalConfig.java
+++ b/hutool-http/src/main/java/org/dromara/hutool/http/HttpGlobalConfig.java
@@ -45,6 +45,7 @@ public class HttpGlobalConfig implements Serializable {
* 是否从响应正文中的meta标签获取编码信息
*/
private static boolean getCharsetFromContent = true;
+ private static boolean trustAnyHost = false;
/**
* 获取全局默认的超时时长
@@ -211,4 +212,24 @@ public class HttpGlobalConfig implements Serializable {
public static boolean isGetCharsetFromContent(){
return getCharsetFromContent;
}
+
+ /**
+ * 是否信任所有Host
+ * @return 是否信任所有Host
+ * @since 5.8.27
+ */
+ public static boolean isTrustAnyHost(){
+ return trustAnyHost;
+ }
+
+ /**
+ * 是否信任所有Host
+ * 见:https://github.com/dromara/hutool/issues/2042
+ *
+ * @param customTrustAnyHost 如果设置为{@code false},则按照JDK默认验证机制,验证目标服务器的证书host和请求host是否一致,{@code true}表示不验证。
+ * @since 5.8.27
+ */
+ public static void setTrustAnyHost(boolean customTrustAnyHost) {
+ trustAnyHost = customTrustAnyHost;
+ }
}
diff --git a/hutool-http/src/main/java/org/dromara/hutool/http/client/ClientConfig.java b/hutool-http/src/main/java/org/dromara/hutool/http/client/ClientConfig.java
index c0b972961..365c994ff 100644
--- a/hutool-http/src/main/java/org/dromara/hutool/http/client/ClientConfig.java
+++ b/hutool-http/src/main/java/org/dromara/hutool/http/client/ClientConfig.java
@@ -59,7 +59,7 @@ public class ClientConfig {
public ClientConfig() {
connectionTimeout = HttpGlobalConfig.getTimeout();
readTimeout = HttpGlobalConfig.getTimeout();
- sslInfo = SSLInfo.TRUST_ANY;
+ sslInfo = HttpGlobalConfig.isTrustAnyHost() ? SSLInfo.TRUST_ANY : SSLInfo.DEFAULT;
}
/**