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 has to be performed on each Execution Context (EC) that is required to route HTTP traffic through a proxy.

Proxy support is available for:

  • HTTP APL functions

  • HTTP Batch agent

  • GCP agents

  • HTTP/2 Client agent

  • Salesforce Streaming agent

  • Web Services agents

This page has the following sub-sections:

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. Refer to proxy properties here: Execution Context Properties .

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 to HTTP proxy. The username and password are configured using system properties. Refer to the proxy properties here: Execution Context Properties .

Example Configuration

Here is an example of how to configure the system properties to use an HTTP Proxy.

Use the following command to edit the system properties.

mzsh topo open ec1

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 {}
    }
}