Interface ProxyProtocolOrBuilder

All Superinterfaces:
com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
All Known Implementing Classes:
ProxyProtocol, ProxyProtocol.Builder

public interface ProxyProtocolOrBuilder extends com.google.protobuf.MessageOrBuilder
  • Method Details

    • getRulesList

      List<ProxyProtocol.Rule> getRulesList()
       The list of rules to apply to requests.
       
      repeated .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule rules = 1;
    • getRules

      ProxyProtocol.Rule getRules(int index)
       The list of rules to apply to requests.
       
      repeated .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule rules = 1;
    • getRulesCount

      int getRulesCount()
       The list of rules to apply to requests.
       
      repeated .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule rules = 1;
    • getRulesOrBuilderList

      List<? extends ProxyProtocol.RuleOrBuilder> getRulesOrBuilderList()
       The list of rules to apply to requests.
       
      repeated .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule rules = 1;
    • getRulesOrBuilder

      ProxyProtocol.RuleOrBuilder getRulesOrBuilder(int index)
       The list of rules to apply to requests.
       
      repeated .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule rules = 1;
    • getAllowRequestsWithoutProxyProtocol

      boolean getAllowRequestsWithoutProxyProtocol()
       Allow requests through that don't use proxy protocol. Defaults to false.
      
       .. attention::
      
         This breaks conformance with the specification.
         Only enable if ALL traffic to the listener comes from a trusted source.
         For more information on the security implications of this feature, see
         https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt
      
       .. attention::
      
         Requests of 12 or fewer bytes that match the proxy protocol v2 signature
         and requests of 6 or fewer bytes that match the proxy protocol v1
         signature will timeout (Envoy is unable to differentiate these requests
         from incomplete proxy protocol requests).
       
      bool allow_requests_without_proxy_protocol = 2;
      Returns:
      The allowRequestsWithoutProxyProtocol.
    • hasPassThroughTlvs

      boolean hasPassThroughTlvs()
       This config controls which TLVs can be passed to filter state if it is Proxy Protocol
       V2 header. If there is no setting for this field, no TLVs will be passed through.
      
       .. note::
      
         If this is configured, you likely also want to set
         :ref:`core.v3.ProxyProtocolConfig.pass_through_tlvs <envoy_v3_api_field_config.core.v3.ProxyProtocolConfig.pass_through_tlvs>`,
         which controls pass-through for the upstream.
       
      .envoy.config.core.v3.ProxyProtocolPassThroughTLVs pass_through_tlvs = 3;
      Returns:
      Whether the passThroughTlvs field is set.
    • getPassThroughTlvs

      ProxyProtocolPassThroughTLVs getPassThroughTlvs()
       This config controls which TLVs can be passed to filter state if it is Proxy Protocol
       V2 header. If there is no setting for this field, no TLVs will be passed through.
      
       .. note::
      
         If this is configured, you likely also want to set
         :ref:`core.v3.ProxyProtocolConfig.pass_through_tlvs <envoy_v3_api_field_config.core.v3.ProxyProtocolConfig.pass_through_tlvs>`,
         which controls pass-through for the upstream.
       
      .envoy.config.core.v3.ProxyProtocolPassThroughTLVs pass_through_tlvs = 3;
      Returns:
      The passThroughTlvs.
    • getPassThroughTlvsOrBuilder

      ProxyProtocolPassThroughTLVsOrBuilder getPassThroughTlvsOrBuilder()
       This config controls which TLVs can be passed to filter state if it is Proxy Protocol
       V2 header. If there is no setting for this field, no TLVs will be passed through.
      
       .. note::
      
         If this is configured, you likely also want to set
         :ref:`core.v3.ProxyProtocolConfig.pass_through_tlvs <envoy_v3_api_field_config.core.v3.ProxyProtocolConfig.pass_through_tlvs>`,
         which controls pass-through for the upstream.
       
      .envoy.config.core.v3.ProxyProtocolPassThroughTLVs pass_through_tlvs = 3;
    • getDisallowedVersionsList

      List<ProxyProtocolConfig.Version> getDisallowedVersionsList()
       The PROXY protocol versions that won't be matched. Useful to limit the scope and attack surface of the filter.
      
       When the filter receives PROXY protocol data that is disallowed, it will reject the connection.
       By default, the filter will match all PROXY protocol versions.
       See https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt for details.
      
       .. attention::
      
         When used in conjunction with the :ref:`allow_requests_without_proxy_protocol <envoy_v3_api_field_extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.allow_requests_without_proxy_protocol>`,
         the filter will not attempt to match signatures for the disallowed versions.
         For example, when ``disallowed_versions=V2``, ``allow_requests_without_proxy_protocol=true``,
         and an incoming request matches the V2 signature, the filter will allow the request through without any modification.
         The filter treats this request as if it did not have any PROXY protocol information.
       
      repeated .envoy.config.core.v3.ProxyProtocolConfig.Version disallowed_versions = 4;
      Returns:
      A list containing the disallowedVersions.
    • getDisallowedVersionsCount

      int getDisallowedVersionsCount()
       The PROXY protocol versions that won't be matched. Useful to limit the scope and attack surface of the filter.
      
       When the filter receives PROXY protocol data that is disallowed, it will reject the connection.
       By default, the filter will match all PROXY protocol versions.
       See https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt for details.
      
       .. attention::
      
         When used in conjunction with the :ref:`allow_requests_without_proxy_protocol <envoy_v3_api_field_extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.allow_requests_without_proxy_protocol>`,
         the filter will not attempt to match signatures for the disallowed versions.
         For example, when ``disallowed_versions=V2``, ``allow_requests_without_proxy_protocol=true``,
         and an incoming request matches the V2 signature, the filter will allow the request through without any modification.
         The filter treats this request as if it did not have any PROXY protocol information.
       
      repeated .envoy.config.core.v3.ProxyProtocolConfig.Version disallowed_versions = 4;
      Returns:
      The count of disallowedVersions.
    • getDisallowedVersions

      ProxyProtocolConfig.Version getDisallowedVersions(int index)
       The PROXY protocol versions that won't be matched. Useful to limit the scope and attack surface of the filter.
      
       When the filter receives PROXY protocol data that is disallowed, it will reject the connection.
       By default, the filter will match all PROXY protocol versions.
       See https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt for details.
      
       .. attention::
      
         When used in conjunction with the :ref:`allow_requests_without_proxy_protocol <envoy_v3_api_field_extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.allow_requests_without_proxy_protocol>`,
         the filter will not attempt to match signatures for the disallowed versions.
         For example, when ``disallowed_versions=V2``, ``allow_requests_without_proxy_protocol=true``,
         and an incoming request matches the V2 signature, the filter will allow the request through without any modification.
         The filter treats this request as if it did not have any PROXY protocol information.
       
      repeated .envoy.config.core.v3.ProxyProtocolConfig.Version disallowed_versions = 4;
      Parameters:
      index - The index of the element to return.
      Returns:
      The disallowedVersions at the given index.
    • getDisallowedVersionsValueList

      List<Integer> getDisallowedVersionsValueList()
       The PROXY protocol versions that won't be matched. Useful to limit the scope and attack surface of the filter.
      
       When the filter receives PROXY protocol data that is disallowed, it will reject the connection.
       By default, the filter will match all PROXY protocol versions.
       See https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt for details.
      
       .. attention::
      
         When used in conjunction with the :ref:`allow_requests_without_proxy_protocol <envoy_v3_api_field_extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.allow_requests_without_proxy_protocol>`,
         the filter will not attempt to match signatures for the disallowed versions.
         For example, when ``disallowed_versions=V2``, ``allow_requests_without_proxy_protocol=true``,
         and an incoming request matches the V2 signature, the filter will allow the request through without any modification.
         The filter treats this request as if it did not have any PROXY protocol information.
       
      repeated .envoy.config.core.v3.ProxyProtocolConfig.Version disallowed_versions = 4;
      Returns:
      A list containing the enum numeric values on the wire for disallowedVersions.
    • getDisallowedVersionsValue

      int getDisallowedVersionsValue(int index)
       The PROXY protocol versions that won't be matched. Useful to limit the scope and attack surface of the filter.
      
       When the filter receives PROXY protocol data that is disallowed, it will reject the connection.
       By default, the filter will match all PROXY protocol versions.
       See https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt for details.
      
       .. attention::
      
         When used in conjunction with the :ref:`allow_requests_without_proxy_protocol <envoy_v3_api_field_extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.allow_requests_without_proxy_protocol>`,
         the filter will not attempt to match signatures for the disallowed versions.
         For example, when ``disallowed_versions=V2``, ``allow_requests_without_proxy_protocol=true``,
         and an incoming request matches the V2 signature, the filter will allow the request through without any modification.
         The filter treats this request as if it did not have any PROXY protocol information.
       
      repeated .envoy.config.core.v3.ProxyProtocolConfig.Version disallowed_versions = 4;
      Parameters:
      index - The index of the value to return.
      Returns:
      The enum numeric value on the wire of disallowedVersions at the given index.
    • getStatPrefix

      String getStatPrefix()
       The human readable prefix to use when emitting statistics for the filter.
       If not configured, statistics will be emitted without the prefix segment.
       See the :ref:`filter's statistics documentation <config_listener_filters_proxy_protocol>` for
       more information.
       
      string stat_prefix = 5;
      Returns:
      The statPrefix.
    • getStatPrefixBytes

      com.google.protobuf.ByteString getStatPrefixBytes()
       The human readable prefix to use when emitting statistics for the filter.
       If not configured, statistics will be emitted without the prefix segment.
       See the :ref:`filter's statistics documentation <config_listener_filters_proxy_protocol>` for
       more information.
       
      string stat_prefix = 5;
      Returns:
      The bytes for statPrefix.
    • getTlvLocationValue

      int getTlvLocationValue()
       Controls where TLV values are stored when rules match. Defaults to DYNAMIC_METADATA.
       
      .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.TlvLocation tlv_location = 6;
      Returns:
      The enum numeric value on the wire for tlvLocation.
    • getTlvLocation

      ProxyProtocol.TlvLocation getTlvLocation()
       Controls where TLV values are stored when rules match. Defaults to DYNAMIC_METADATA.
       
      .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.TlvLocation tlv_location = 6;
      Returns:
      The tlvLocation.