.. _envoy_v3_api_file_envoy/extensions/filters/listener/proxy_protocol/v3/proxy_protocol.proto: Proxy Protocol Filter ===================== .. _extension_envoy.filters.listener.proxy_protocol: 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. PROXY protocol listener filter. .. _envoy_v3_api_msg_extensions.filters.listener.proxy_protocol.v3.ProxyProtocol: extensions.filters.listener.proxy_protocol.v3.ProxyProtocol ----------------------------------------------------------- `[extensions.filters.listener.proxy_protocol.v3.ProxyProtocol proto] `_ .. code-block:: json { "rules": [] } .. _envoy_v3_api_field_extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.rules: rules (:ref:`extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule `) The list of rules to apply to requests. .. _envoy_v3_api_msg_extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.KeyValuePair: extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.KeyValuePair ------------------------------------------------------------------------ `[extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.KeyValuePair proto] `_ .. code-block:: json { "metadata_namespace": "...", "key": "..." } .. _envoy_v3_api_field_extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.KeyValuePair.metadata_namespace: metadata_namespace (`string `_) The namespace — if this is empty, the filter's namespace will be used. .. _envoy_v3_api_field_extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.KeyValuePair.key: key (`string `_, *REQUIRED*) The key to use within the namespace. .. _envoy_v3_api_msg_extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule: 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. .. code-block:: json { "tlv_type": "...", "on_tlv_present": "{...}" } .. _envoy_v3_api_field_extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule.tlv_type: 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. .. _envoy_v3_api_field_extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule.on_tlv_present: on_tlv_present (:ref:`extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.KeyValuePair `) If the TLV type is present, apply this metadata KeyValuePair.