Interface PassThroughHandlerConnectionOptions

This defines the upstream connection parameters. These passthrough parameters are shared between both WebSocket & Request passthrough rules.

interface PassThroughHandlerConnectionOptions {
    additionalTrustedCAs?: CADefinition[];
    clientCertificateHostMap?: {
        [host: string]: {
            passphrase?: string;
            pfx: Buffer;
        };
    };
    forwarding?: ForwardingOptions;
    ignoreHostHttpsErrors?: boolean | string[];
    lookupOptions?: PassThroughLookupOptions;
    proxyConfig?: ProxyConfig;
    trustAdditionalCAs?: CADefinition[];
}

Hierarchy (view full)

Properties

additionalTrustedCAs?: CADefinition[]

An array of additional certificates, which should be trusted as certificate authorities for upstream hosts, in addition to Node.js's built-in certificate authorities.

Each certificate should be an object with either a cert key and a string or buffer value containing the PEM certificate, or a certPath key and a string value containing the local path to the PEM certificate.

clientCertificateHostMap?: {
    [host: string]: {
        passphrase?: string;
        pfx: Buffer;
    };
}

A mapping of hosts to client certificates to use, in the form of { key, cert } objects (none, by default)

forwarding?: ForwardingOptions

The forwarding configuration for the passthrough rule. This generally shouldn't be used explicitly unless you're building rule data by hand. Instead, call thenPassThrough to send data directly or thenForwardTo with options to configure traffic forwarding.

ignoreHostHttpsErrors?: boolean | string[]

A list of hostnames for which server certificate and TLS version errors should be ignored (none, by default).

If set to 'true', HTTPS errors will be ignored for all hosts. WARNING: Use this at your own risk. Setting this to true can open your application to MITM attacks and should never be used over any network that is not completed trusted end-to-end.

lookupOptions?: PassThroughLookupOptions

Custom DNS options, to allow configuration of the resolver used when forwarding requests upstream. Passing any option switches from using node's default dns.lookup function to using the cacheable-lookup module, which will cache responses.

proxyConfig?: ProxyConfig

Upstream proxy configuration: pass through requests via this proxy.

If this is undefined, no proxy will be used. To configure a proxy provide either:

  • a ProxySettings object
  • a callback which will be called with an object containing the hostname, and must return a ProxySettings object or undefined.
  • an array of ProxySettings or callbacks. The array will be processed in order, and the first not-undefined ProxySettings found will be used.

When using a remote client, this parameter or individual array values may be passed by reference, using the name of a rule parameter configured in the admin server.

trustAdditionalCAs?: CADefinition[]

Deprecated alias for additionalTrustedCAs