HTTP Proxy Support

HTTP Proxy Support

MediationZone can be configured to route outgoing HTTP traffic through an HTTP proxy. This is commonly required in networking environments where the execution context has limited access to the internet. Proxy configuration must be performed on each Execution Context (EC) or Platform required to route HTTP traffic through a proxy.

Note!
Proxy support is available for:

  • HTTP APL functions

  • HTTP Batch agent

  • GCP agents

  • HTTP/2 Client agent

  • Salesforce Streaming agent

  • Web Services agents

  • Amazon S3 agents

Configuring Proxy Support

Standard Java system properties are used to configure MediationZone to route HTTP traffic through an HTTP proxy. These properties must be configured at the Execution Context (EC) level for all execution contexts or the Platform. See the proxy properties in Execution Context Properties and https://infozone.atlassian.net/wiki/x/cGn8F.

It is often necessary to provide a list of destinations that should not be routed through the proxy. This list can be configured using the proxy property http.nonProxyHosts. Note that this property, despite the name, applies to both HTTP and HTTPS traffic.

Authenticating the Proxy

MediationZone supports basic authentication for HTTP proxy. The username and password are configured using system properties. See the proxy properties at the links above.

Example Configuration

Here is an example of how to configure the system properties to use an HTTP Proxy. Use mzsh topo open ec1 to edit the system properties.

config {     classpath {}     jvmargs {         args=[]         maxMetaspace=[             "-XX:MaxMetaspaceSize=196M"         ]     }     properties {         mz.webserver.xframeoptions=DENY         pico.groups=""         ec.backlog.dir="/Users/mzadmin/mz9/mz9HttpProxy/tmp"         ec.webserver.port=9090         http.proxyHost=192.168.205.4         http.proxyPort=3128         https.proxyHost=192.168.205.4         https.proxyPort=3128         http.proxyUser=test         http.proxyPassword=DR-4-D999C75BC7A3C4AF1B4DAA7F134EEED9         https.proxyUser=test         https.proxyPassword=DR-4-D999C75BC7A3C4AF1B4DAA7F134EEED9         http.nonProxyHosts="localhost|*.foo.com"         jdk.http.auth.proxying.disabledSchemes=""         jdk.http.auth.tunneling.disabledSchemes=""     }     vendor-jvmargs {         hp {}         sun {}     } }