Proxy Protocol Filter

This documentation is for the Envoy v3 API.

As of Envoy v1.18 the v2 API has been removed and is no longer supported.

If you are upgrading from v2 API config you may wish to view the v2 API documentation:

config/filter/listener/proxy_protocol/v2/proxy_protocol.proto

This extension may be referenced by the qualified name envoy.filters.listener.proxy_protocol

Note

This extension is intended to be robust against untrusted downstream traffic. It assumes that the upstream is trusted.

Tip

This extension extends and can be used with the following extension category:

PROXY protocol listener filter.

extensions.filters.listener.proxy_protocol.v3.ProxyProtocol

[extensions.filters.listener.proxy_protocol.v3.ProxyProtocol proto]

  1. {
  2. "rules": []
  3. }

rules

(repeated extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule) The list of rules to apply to requests.

extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.KeyValuePair

[extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.KeyValuePair proto]

  1. {
  2. "metadata_namespace": "...",
  3. "key": "..."
  4. }

metadata_namespace

(string) The namespace — if this is empty, the filter’s namespace will be used.

key

(string, REQUIRED) The key to use within the namespace.

extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule

[extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule proto]

A Rule defines what metadata to apply when a header is present or missing.

  1. {
  2. "tlv_type": "...",
  3. "on_tlv_present": "{...}"
  4. }

tlv_type

(uint32) The type that triggers the rule - required TLV type is defined as uint8_t in proxy protocol. See the spec for details.

on_tlv_present

(extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.KeyValuePair) If the TLV type is present, apply this metadata KeyValuePair.