diff --git a/src/main/java/org/codelibs/fess/es/config/exentity/CrawlingConfig.java b/src/main/java/org/codelibs/fess/es/config/exentity/CrawlingConfig.java
index e341c67cdb93f7426547cb76cd29b79c59e4c3f0..2912c6241e85fd432ebfc1d930ee1a124d8bd4cb 100644
--- a/src/main/java/org/codelibs/fess/es/config/exentity/CrawlingConfig.java
+++ b/src/main/java/org/codelibs/fess/es/config/exentity/CrawlingConfig.java
@@ -17,7 +17,12 @@ package org.codelibs.fess.es.config.exentity;
 
 import java.util.Map;
 
+import org.apache.http.auth.UsernamePasswordCredentials;
+import org.codelibs.core.lang.StringUtil;
 import org.codelibs.fess.crawler.client.CrawlerClientFactory;
+import org.codelibs.fess.crawler.client.http.HcHttpClient;
+import org.codelibs.fess.mylasta.direction.FessConfig;
+import org.codelibs.fess.util.ComponentUtil;
 
 public interface CrawlingConfig {
 
@@ -43,6 +48,22 @@ public interface CrawlingConfig {
 
     Map<String, String> getConfigParameterMap(ConfigName name);
 
+    public default void initializeDefaultHttpProxy(final Map<String, Object> paramMap) {
+        final FessConfig fessConfig = ComponentUtil.getFessConfig();
+        final String proxyHost = fessConfig.getHttpProxyHost();
+        final String proxyPort = fessConfig.getHttpProxyPort();
+        if (StringUtil.isNotBlank(proxyHost) && StringUtil.isNotBlank(proxyPort)) {
+            paramMap.put(HcHttpClient.PROXY_HOST_PROPERTY, proxyHost);
+            paramMap.put(HcHttpClient.PROXY_PORT_PROPERTY, proxyPort);
+            final String proxyUsername = fessConfig.getHttpProxyUsername();
+            final String proxyPassword = fessConfig.getHttpProxyPassword();
+            if (proxyUsername != null && proxyPassword != null) {
+                paramMap.put(HcHttpClient.PROXY_CREDENTIALS_PROPERTY, new UsernamePasswordCredentials(proxyUsername, proxyPassword));
+            }
+
+        }
+    }
+
     public enum ConfigType {
         WEB("W"), FILE("F"), DATA("D");
 
diff --git a/src/main/java/org/codelibs/fess/es/config/exentity/DataConfig.java b/src/main/java/org/codelibs/fess/es/config/exentity/DataConfig.java
index db2d027446c07128870b12061ba91019c1d1afa3..2d4f91c916e4f2c85395009be703454575a19034 100644
--- a/src/main/java/org/codelibs/fess/es/config/exentity/DataConfig.java
+++ b/src/main/java/org/codelibs/fess/es/config/exentity/DataConfig.java
@@ -250,6 +250,8 @@ public class DataConfig extends BsDataConfig implements CrawlingConfig {
             if (proxyUsername != null && proxyPassword != null) {
                 factoryParamMap.put(HcHttpClient.PROXY_CREDENTIALS_PROPERTY, new UsernamePasswordCredentials(proxyUsername, proxyPassword));
             }
+        } else {
+            initializeDefaultHttpProxy(factoryParamMap);
         }
 
         // file auth
diff --git a/src/main/java/org/codelibs/fess/es/config/exentity/WebConfig.java b/src/main/java/org/codelibs/fess/es/config/exentity/WebConfig.java
index bcbeac7e8dabecf1a48c44d0e25eaec3ac85e532..83e7f97f6da11eec1ea0ba58dd6801c124cf9a1f 100644
--- a/src/main/java/org/codelibs/fess/es/config/exentity/WebConfig.java
+++ b/src/main/java/org/codelibs/fess/es/config/exentity/WebConfig.java
@@ -238,10 +238,16 @@ public class WebConfig extends BsWebConfig implements CrawlingConfig {
         paramMap.put(HcHttpClient.REQUERT_HEADERS_PROPERTY,
                 rhList.toArray(new org.codelibs.fess.crawler.client.http.RequestHeader[rhList.size()]));
 
-        // proxy credentials
-        if (paramMap.get("proxyUsername") != null && paramMap.get("proxyPassword") != null) {
-            paramMap.put(HcHttpClient.PROXY_CREDENTIALS_PROPERTY, new UsernamePasswordCredentials(paramMap.remove("proxyUsername")
-                    .toString(), paramMap.remove("proxyPassword").toString()));
+        final String proxyHost = (String) paramMap.get("proxyHost");
+        final String proxyPort = (String) paramMap.get("proxyPort");
+        if (StringUtil.isNotBlank(proxyHost) && StringUtil.isNotBlank(proxyPort)) {
+            // proxy credentials
+            if (paramMap.get("proxyUsername") != null && paramMap.get("proxyPassword") != null) {
+                paramMap.put(HcHttpClient.PROXY_CREDENTIALS_PROPERTY, new UsernamePasswordCredentials(paramMap.remove("proxyUsername")
+                        .toString(), paramMap.remove("proxyPassword").toString()));
+            }
+        } else {
+            initializeDefaultHttpProxy(paramMap);
         }
 
         return paramMap;