diff --git a/common/core/pom.xml b/common/core/pom.xml
index 0193355..b0a7e56 100644
--- a/common/core/pom.xml
+++ b/common/core/pom.xml
@@ -38,7 +38,12 @@
       <artifactId>spring-cloud-starter-openfeign</artifactId>
       <optional>true</optional>
     </dependency>
-
+    <dependency>
+      <groupId>com.netflix.feign</groupId>
+      <artifactId>feign-httpclient</artifactId>
+      <optional>true</optional>
+    </dependency>
+    
     <dependency>
       <groupId>com.alibaba</groupId>
       <artifactId>fastjson</artifactId>
diff --git a/common/core/src/main/java/com/supwisdom/institute/backend/common/core/feign/FeignClientBuilder.java b/common/core/src/main/java/com/supwisdom/institute/backend/common/core/feign/FeignClientBuilder.java
index 2fe606f..181ad10 100644
--- a/common/core/src/main/java/com/supwisdom/institute/backend/common/core/feign/FeignClientBuilder.java
+++ b/common/core/src/main/java/com/supwisdom/institute/backend/common/core/feign/FeignClientBuilder.java
@@ -11,6 +11,7 @@
 import org.springframework.util.ResourceUtils;
 
 import feign.Client;
+import feign.httpclient.ApacheHttpClient;
 
 @Slf4j
 @lombok.Builder
@@ -27,11 +28,11 @@
   public Client client() {
 
     if (!enabled) {
-      return new Client.Default(null, null);
+      return new ApacheHttpClient();
     }
     
     if (keyStore == null || keyStore.isEmpty()) {
-      return new Client.Default(null, null);
+      return new ApacheHttpClient();
     } else {
       try {
         SSLContextBuilder sslContextBuilder = SSLContexts.custom();
@@ -55,7 +56,7 @@
         
         SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
 
-        Client trustSSLSockets = new Client.Default(sslSocketFactory, new NoopHostnameVerifier());
+        Client trustSSLSockets = new Client.Default(sslSocketFactory, new NoopHostnameVerifier());  // FIXME: feign Client
         log.info("feignClient load with ssl.");
         return trustSSLSockets;
       } catch (Exception e) {
@@ -63,7 +64,7 @@
       }
     }
     
-    return new Client.Default(null, null);
+    return new ApacheHttpClient();
   }
 
 }
