diff --git a/serviceConfigDevLocal.yml b/serviceConfigDevLocal.yml
index 7350806..eec7e02 100644
--- a/serviceConfigDevLocal.yml
+++ b/serviceConfigDevLocal.yml
@@ -1,5 +1,6 @@
 servicesDistributionFileName: servicesDistributionDevLocal.json
-
+proxyHost: webproxy3.pta.de
+proxyPort: 8080
 
 logging:
   level: INFO
diff --git a/serviceConfigDevLocal_MASTER.yml b/serviceConfigDevLocal_MASTER.yml
index 84ef912..0a83714 100644
--- a/serviceConfigDevLocal_MASTER.yml
+++ b/serviceConfigDevLocal_MASTER.yml
@@ -1,5 +1,6 @@
 servicesDistributionFileName: servicesDistributionDevServer.json
-
+proxyHost:
+proxyPort:
 
 logging:
   level: INFO
diff --git a/serviceConfig_QA.yml b/serviceConfig_QA.yml
index 2e643d6..e49270f 100644
--- a/serviceConfig_QA.yml
+++ b/serviceConfig_QA.yml
@@ -1,5 +1,6 @@
 servicesDistributionFileName: servicesDistributionQAServer.json
-
+proxyHost:
+proxyPort:
 
 logging:
   level: INFO
diff --git a/src/main/java/org/eclipse/openk/MicsCentralApplication.java b/src/main/java/org/eclipse/openk/MicsCentralApplication.java
index 582e7a0..16c4d02 100644
--- a/src/main/java/org/eclipse/openk/MicsCentralApplication.java
+++ b/src/main/java/org/eclipse/openk/MicsCentralApplication.java
@@ -17,6 +17,7 @@
 import io.dropwizard.setup.Bootstrap;
 import io.dropwizard.setup.Environment;
 import org.eclipse.jetty.servlets.CrossOriginFilter;
+import org.eclipse.openk.core.controller.BackendConfig;
 import org.eclipse.openk.core.controller.InitServicesConfigCacheJob;
 import org.eclipse.openk.health.ConfigFilePresentHealthCheck;
 import org.eclipse.openk.resources.MicsCentralResource;
@@ -58,6 +59,8 @@
 
     private void initAppEnvironment( MicsCentralConfiguration conf ) {
         InitServicesConfigCacheJob.init(conf.getServicesDistributionFileName());
+        BackendConfig.getInstance().setProxyHost(conf.getProxyHost());
+        BackendConfig.getInstance().setProxyPort(Integer.parseInt(conf.getProxyPort()));
     }
 
     private void configureCors(Environment environment) {
diff --git a/src/main/java/org/eclipse/openk/MicsCentralConfiguration.java b/src/main/java/org/eclipse/openk/MicsCentralConfiguration.java
index df9553e..df7c7b0 100644
--- a/src/main/java/org/eclipse/openk/MicsCentralConfiguration.java
+++ b/src/main/java/org/eclipse/openk/MicsCentralConfiguration.java
@@ -21,6 +21,12 @@
     private String servicesDistributionFileName;
 
     @JsonProperty
+    private String proxyHost;
+
+    @JsonProperty
+    private String proxyPort;
+
+    @JsonProperty
     public String getServicesDistributionFileName() {
         return servicesDistributionFileName;
     }
@@ -29,4 +35,20 @@
     public void setServicesDistributionFileName(String servicesDistributionFileName) {
         this.servicesDistributionFileName = servicesDistributionFileName;
     }
+
+    public String getProxyHost() {
+        return proxyHost;
+    }
+
+    public void setProxyHost(String proxyHost) {
+        this.proxyHost = proxyHost;
+    }
+
+    public String getProxyPort() {
+        return proxyPort;
+    }
+
+    public void setProxyPort(String proxyPort) {
+        this.proxyPort = proxyPort;
+    }
 }
diff --git a/src/main/java/org/eclipse/openk/core/communication/RestServiceWrapper.java b/src/main/java/org/eclipse/openk/core/communication/RestServiceWrapper.java
index 97843ad..1a16b9a 100644
--- a/src/main/java/org/eclipse/openk/core/communication/RestServiceWrapper.java
+++ b/src/main/java/org/eclipse/openk/core/communication/RestServiceWrapper.java
@@ -13,6 +13,8 @@
 package org.eclipse.openk.core.communication;
 
 
+import org.apache.commons.httpclient.HostConfiguration;
+import org.apache.http.HttpHost;
 import org.apache.http.HttpResponse;
 import org.apache.http.HttpStatus;
 import org.apache.http.client.methods.*;
@@ -27,6 +29,7 @@
 import org.apache.http.util.EntityUtils;
 import org.apache.log4j.Logger;
 import org.eclipse.openk.core.common.Globals;
+import org.eclipse.openk.core.controller.BackendConfig;
 import org.eclipse.openk.core.exceptions.HttpStatusException;
 
 import javax.ws.rs.core.Response;
@@ -187,6 +190,11 @@
                 builder.loadTrustMaterial(null, new TrustSelfSignedStrategy());
                 SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(builder.build(), new NoopHostnameVerifier());
 
+                String proxyHost = BackendConfig.getInstance().getProxyHost();
+                int proxyPort = BackendConfig.getInstance().getProxyPort();
+                if (proxyHost != null && !proxyHost.isEmpty()){
+                    return HttpClients.custom().setSSLSocketFactory(sslsf).setProxy(new HttpHost(proxyHost, proxyPort)).build();
+                }
 
                 return HttpClients.custom().setSSLSocketFactory(sslsf).build();
             } catch (Exception e) {
diff --git a/src/main/java/org/eclipse/openk/core/controller/BackendConfig.java b/src/main/java/org/eclipse/openk/core/controller/BackendConfig.java
new file mode 100644
index 0000000..1af2080
--- /dev/null
+++ b/src/main/java/org/eclipse/openk/core/controller/BackendConfig.java
@@ -0,0 +1,31 @@
+package org.eclipse.openk.core.controller;
+
+public class BackendConfig {
+
+  static final private BackendConfig instance = new BackendConfig();
+
+  private String proxyHost;
+  private int proxyPort;
+
+  private BackendConfig(){}
+
+  public static BackendConfig getInstance(){
+    return instance;
+  }
+
+  public String getProxyHost() {
+    return proxyHost;
+  }
+
+  public void setProxyHost(String proxyHost) {
+    this.proxyHost = proxyHost;
+  }
+
+  public int getProxyPort() {
+    return proxyPort;
+  }
+
+  public void setProxyPort(int proxyPort) {
+    this.proxyPort = proxyPort;
+  }
+}
