Class XffConfig.Builder
java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessageV3.Builder<XffConfig.Builder>
io.envoyproxy.envoy.extensions.http.original_ip_detection.xff.v3.XffConfig.Builder
- All Implemented Interfaces:
com.google.protobuf.Message.Builder,com.google.protobuf.MessageLite.Builder,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,XffConfigOrBuilder,Cloneable
- Enclosing class:
- XffConfig
public static final class XffConfig.Builder
extends com.google.protobuf.GeneratedMessageV3.Builder<XffConfig.Builder>
implements XffConfigOrBuilder
This extension allows for the original downstream remote IP to be detected by reading the :ref:`config_http_conn_man_headers_x-forwarded-for` header. [#extension: envoy.http.original_ip_detection.xff]Protobuf type
envoy.extensions.http.original_ip_detection.xff.v3.XffConfig-
Method Summary
Modifier and TypeMethodDescriptionaddRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) build()clear()clearField(com.google.protobuf.Descriptors.FieldDescriptor field) clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) If set, Envoy will not append the remote address to the :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header. .. attention:: For proper proxy behaviour it is not recommended to set this option.The number of additional ingress proxy hops from the right side of the :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header to trust when determining the origin client's IP address.The `CIDR <https://tools.ietf.org/html/rfc4632>`_ ranges to trust when evaluating the remote IP address to determine the original client's IP address.clone()static final com.google.protobuf.Descriptors.Descriptorcom.google.protobuf.Descriptors.Descriptorcom.google.protobuf.BoolValueIf set, Envoy will not append the remote address to the :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header. .. attention:: For proper proxy behaviour it is not recommended to set this option.com.google.protobuf.BoolValue.BuilderIf set, Envoy will not append the remote address to the :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header. .. attention:: For proper proxy behaviour it is not recommended to set this option.com.google.protobuf.BoolValueOrBuilderIf set, Envoy will not append the remote address to the :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header. .. attention:: For proper proxy behaviour it is not recommended to set this option.intThe number of additional ingress proxy hops from the right side of the :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header to trust when determining the origin client's IP address.The `CIDR <https://tools.ietf.org/html/rfc4632>`_ ranges to trust when evaluating the remote IP address to determine the original client's IP address.The `CIDR <https://tools.ietf.org/html/rfc4632>`_ ranges to trust when evaluating the remote IP address to determine the original client's IP address.The `CIDR <https://tools.ietf.org/html/rfc4632>`_ ranges to trust when evaluating the remote IP address to determine the original client's IP address.booleanIf set, Envoy will not append the remote address to the :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header. .. attention:: For proper proxy behaviour it is not recommended to set this option.booleanThe `CIDR <https://tools.ietf.org/html/rfc4632>`_ ranges to trust when evaluating the remote IP address to determine the original client's IP address.protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTablefinal booleanmergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) mergeFrom(com.google.protobuf.Message other) mergeSkipXffAppend(com.google.protobuf.BoolValue value) If set, Envoy will not append the remote address to the :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header. .. attention:: For proper proxy behaviour it is not recommended to set this option.final XffConfig.BuildermergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) The `CIDR <https://tools.ietf.org/html/rfc4632>`_ ranges to trust when evaluating the remote IP address to determine the original client's IP address.setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value) setSkipXffAppend(com.google.protobuf.BoolValue value) If set, Envoy will not append the remote address to the :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header. .. attention:: For proper proxy behaviour it is not recommended to set this option.setSkipXffAppend(com.google.protobuf.BoolValue.Builder builderForValue) If set, Envoy will not append the remote address to the :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header. .. attention:: For proper proxy behaviour it is not recommended to set this option.final XffConfig.BuildersetUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) setXffNumTrustedHops(int value) The number of additional ingress proxy hops from the right side of the :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header to trust when determining the origin client's IP address.The `CIDR <https://tools.ietf.org/html/rfc4632>`_ ranges to trust when evaluating the remote IP address to determine the original client's IP address.setXffTrustedCidrs(XffTrustedCidrs.Builder builderForValue) The `CIDR <https://tools.ietf.org/html/rfc4632>`_ ranges to trust when evaluating the remote IP address to determine the original client's IP address.Methods inherited from class com.google.protobuf.GeneratedMessageV3.Builder
getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, getUnknownFieldSetBuilder, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, internalGetMutableMapField, internalGetMutableMapFieldReflection, isClean, markClean, mergeUnknownLengthDelimitedField, mergeUnknownVarintField, newBuilderForField, onBuilt, onChanged, parseUnknownField, setUnknownFieldSetBuilder, setUnknownFieldsProto3Methods inherited from class com.google.protobuf.AbstractMessage.Builder
findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toStringMethods inherited from class com.google.protobuf.AbstractMessageLite.Builder
addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, newUninitializedMessageExceptionMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.google.protobuf.Message.Builder
mergeDelimitedFrom, mergeDelimitedFromMethods inherited from interface com.google.protobuf.MessageLite.Builder
mergeFromMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Method Details
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() -
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessageV3.Builder<XffConfig.Builder>
-
clear
- Specified by:
clearin interfacecom.google.protobuf.Message.Builder- Specified by:
clearin interfacecom.google.protobuf.MessageLite.Builder- Overrides:
clearin classcom.google.protobuf.GeneratedMessageV3.Builder<XffConfig.Builder>
-
getDescriptorForType
public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.Message.Builder- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.MessageOrBuilder- Overrides:
getDescriptorForTypein classcom.google.protobuf.GeneratedMessageV3.Builder<XffConfig.Builder>
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-
build
- Specified by:
buildin interfacecom.google.protobuf.Message.Builder- Specified by:
buildin interfacecom.google.protobuf.MessageLite.Builder
-
buildPartial
- Specified by:
buildPartialin interfacecom.google.protobuf.Message.Builder- Specified by:
buildPartialin interfacecom.google.protobuf.MessageLite.Builder
-
clone
- Specified by:
clonein interfacecom.google.protobuf.Message.Builder- Specified by:
clonein interfacecom.google.protobuf.MessageLite.Builder- Overrides:
clonein classcom.google.protobuf.GeneratedMessageV3.Builder<XffConfig.Builder>
-
setField
public XffConfig.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) - Specified by:
setFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
setFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<XffConfig.Builder>
-
clearField
- Specified by:
clearFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
clearFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<XffConfig.Builder>
-
clearOneof
- Specified by:
clearOneofin interfacecom.google.protobuf.Message.Builder- Overrides:
clearOneofin classcom.google.protobuf.GeneratedMessageV3.Builder<XffConfig.Builder>
-
setRepeatedField
public XffConfig.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value) - Specified by:
setRepeatedFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
setRepeatedFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<XffConfig.Builder>
-
addRepeatedField
public XffConfig.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) - Specified by:
addRepeatedFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
addRepeatedFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<XffConfig.Builder>
-
mergeFrom
- Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<XffConfig.Builder>
-
mergeFrom
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3.Builder<XffConfig.Builder>
-
mergeFrom
public XffConfig.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Specified by:
mergeFromin interfacecom.google.protobuf.MessageLite.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<XffConfig.Builder>- Throws:
IOException
-
getXffNumTrustedHops
public int getXffNumTrustedHops()The number of additional ingress proxy hops from the right side of the :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header to trust when determining the origin client's IP address. The default is zero if this option is not specified. See the documentation for :ref:`config_http_conn_man_headers_x-forwarded-for` for more information. Only one of ``xff_num_trusted_hops`` and ``xff_trusted_cidrs`` can be set.
uint32 xff_num_trusted_hops = 1;- Specified by:
getXffNumTrustedHopsin interfaceXffConfigOrBuilder- Returns:
- The xffNumTrustedHops.
-
setXffNumTrustedHops
The number of additional ingress proxy hops from the right side of the :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header to trust when determining the origin client's IP address. The default is zero if this option is not specified. See the documentation for :ref:`config_http_conn_man_headers_x-forwarded-for` for more information. Only one of ``xff_num_trusted_hops`` and ``xff_trusted_cidrs`` can be set.
uint32 xff_num_trusted_hops = 1;- Parameters:
value- The xffNumTrustedHops to set.- Returns:
- This builder for chaining.
-
clearXffNumTrustedHops
The number of additional ingress proxy hops from the right side of the :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header to trust when determining the origin client's IP address. The default is zero if this option is not specified. See the documentation for :ref:`config_http_conn_man_headers_x-forwarded-for` for more information. Only one of ``xff_num_trusted_hops`` and ``xff_trusted_cidrs`` can be set.
uint32 xff_num_trusted_hops = 1;- Returns:
- This builder for chaining.
-
hasXffTrustedCidrs
public boolean hasXffTrustedCidrs()The `CIDR <https://tools.ietf.org/html/rfc4632>`_ ranges to trust when evaluating the remote IP address to determine the original client's IP address. This is used instead of :ref:`use_remote_address <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address>`. When the remote IP address matches a trusted CIDR and the :ref:`config_http_conn_man_headers_x-forwarded-for` header was sent, each entry in the ``x-forwarded-for`` header is evaluated from right to left and the first non-trusted address is used as the original client address. If all addresses in ``x-forwarded-for`` are within the trusted list, the first (leftmost) entry is used. .. warning:: Starting with Envoy v1.33.0, private IP address ranges are **not** automatically skipped when determining the original client address. We'll return the first address that is not in the ``xff_trusted_cidrs`` list, even if it is a private IP address. If you want to skip private IP addresses, explicitly add them to the ``xff_trusted_cidrs`` list. For example: .. code-block:: yaml xff_trusted_cidrs: cidrs: - address_prefix: "10.0.0.0" prefix_len: 8 - address_prefix: "172.16.0.0" prefix_len: 12 - address_prefix: "192.168.0.0" prefix_len: 16 - address_prefix: "127.0.0.0" prefix_len: 8 - address_prefix: "fc00::" prefix_len: 7 - address_prefix: "::1" prefix_len: 128 See :ref:`internal_address_config <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.internal_address_config>` for more information about the v1.33.0 behavior change. This is typically used when requests are proxied by a `CDN <https://en.wikipedia.org/wiki/Content_delivery_network>`_. Only one of ``xff_num_trusted_hops`` and ``xff_trusted_cidrs`` can be set..envoy.extensions.http.original_ip_detection.xff.v3.XffTrustedCidrs xff_trusted_cidrs = 2;- Specified by:
hasXffTrustedCidrsin interfaceXffConfigOrBuilder- Returns:
- Whether the xffTrustedCidrs field is set.
-
getXffTrustedCidrs
The `CIDR <https://tools.ietf.org/html/rfc4632>`_ ranges to trust when evaluating the remote IP address to determine the original client's IP address. This is used instead of :ref:`use_remote_address <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address>`. When the remote IP address matches a trusted CIDR and the :ref:`config_http_conn_man_headers_x-forwarded-for` header was sent, each entry in the ``x-forwarded-for`` header is evaluated from right to left and the first non-trusted address is used as the original client address. If all addresses in ``x-forwarded-for`` are within the trusted list, the first (leftmost) entry is used. .. warning:: Starting with Envoy v1.33.0, private IP address ranges are **not** automatically skipped when determining the original client address. We'll return the first address that is not in the ``xff_trusted_cidrs`` list, even if it is a private IP address. If you want to skip private IP addresses, explicitly add them to the ``xff_trusted_cidrs`` list. For example: .. code-block:: yaml xff_trusted_cidrs: cidrs: - address_prefix: "10.0.0.0" prefix_len: 8 - address_prefix: "172.16.0.0" prefix_len: 12 - address_prefix: "192.168.0.0" prefix_len: 16 - address_prefix: "127.0.0.0" prefix_len: 8 - address_prefix: "fc00::" prefix_len: 7 - address_prefix: "::1" prefix_len: 128 See :ref:`internal_address_config <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.internal_address_config>` for more information about the v1.33.0 behavior change. This is typically used when requests are proxied by a `CDN <https://en.wikipedia.org/wiki/Content_delivery_network>`_. Only one of ``xff_num_trusted_hops`` and ``xff_trusted_cidrs`` can be set..envoy.extensions.http.original_ip_detection.xff.v3.XffTrustedCidrs xff_trusted_cidrs = 2;- Specified by:
getXffTrustedCidrsin interfaceXffConfigOrBuilder- Returns:
- The xffTrustedCidrs.
-
setXffTrustedCidrs
The `CIDR <https://tools.ietf.org/html/rfc4632>`_ ranges to trust when evaluating the remote IP address to determine the original client's IP address. This is used instead of :ref:`use_remote_address <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address>`. When the remote IP address matches a trusted CIDR and the :ref:`config_http_conn_man_headers_x-forwarded-for` header was sent, each entry in the ``x-forwarded-for`` header is evaluated from right to left and the first non-trusted address is used as the original client address. If all addresses in ``x-forwarded-for`` are within the trusted list, the first (leftmost) entry is used. .. warning:: Starting with Envoy v1.33.0, private IP address ranges are **not** automatically skipped when determining the original client address. We'll return the first address that is not in the ``xff_trusted_cidrs`` list, even if it is a private IP address. If you want to skip private IP addresses, explicitly add them to the ``xff_trusted_cidrs`` list. For example: .. code-block:: yaml xff_trusted_cidrs: cidrs: - address_prefix: "10.0.0.0" prefix_len: 8 - address_prefix: "172.16.0.0" prefix_len: 12 - address_prefix: "192.168.0.0" prefix_len: 16 - address_prefix: "127.0.0.0" prefix_len: 8 - address_prefix: "fc00::" prefix_len: 7 - address_prefix: "::1" prefix_len: 128 See :ref:`internal_address_config <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.internal_address_config>` for more information about the v1.33.0 behavior change. This is typically used when requests are proxied by a `CDN <https://en.wikipedia.org/wiki/Content_delivery_network>`_. Only one of ``xff_num_trusted_hops`` and ``xff_trusted_cidrs`` can be set..envoy.extensions.http.original_ip_detection.xff.v3.XffTrustedCidrs xff_trusted_cidrs = 2; -
setXffTrustedCidrs
The `CIDR <https://tools.ietf.org/html/rfc4632>`_ ranges to trust when evaluating the remote IP address to determine the original client's IP address. This is used instead of :ref:`use_remote_address <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address>`. When the remote IP address matches a trusted CIDR and the :ref:`config_http_conn_man_headers_x-forwarded-for` header was sent, each entry in the ``x-forwarded-for`` header is evaluated from right to left and the first non-trusted address is used as the original client address. If all addresses in ``x-forwarded-for`` are within the trusted list, the first (leftmost) entry is used. .. warning:: Starting with Envoy v1.33.0, private IP address ranges are **not** automatically skipped when determining the original client address. We'll return the first address that is not in the ``xff_trusted_cidrs`` list, even if it is a private IP address. If you want to skip private IP addresses, explicitly add them to the ``xff_trusted_cidrs`` list. For example: .. code-block:: yaml xff_trusted_cidrs: cidrs: - address_prefix: "10.0.0.0" prefix_len: 8 - address_prefix: "172.16.0.0" prefix_len: 12 - address_prefix: "192.168.0.0" prefix_len: 16 - address_prefix: "127.0.0.0" prefix_len: 8 - address_prefix: "fc00::" prefix_len: 7 - address_prefix: "::1" prefix_len: 128 See :ref:`internal_address_config <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.internal_address_config>` for more information about the v1.33.0 behavior change. This is typically used when requests are proxied by a `CDN <https://en.wikipedia.org/wiki/Content_delivery_network>`_. Only one of ``xff_num_trusted_hops`` and ``xff_trusted_cidrs`` can be set..envoy.extensions.http.original_ip_detection.xff.v3.XffTrustedCidrs xff_trusted_cidrs = 2; -
mergeXffTrustedCidrs
The `CIDR <https://tools.ietf.org/html/rfc4632>`_ ranges to trust when evaluating the remote IP address to determine the original client's IP address. This is used instead of :ref:`use_remote_address <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address>`. When the remote IP address matches a trusted CIDR and the :ref:`config_http_conn_man_headers_x-forwarded-for` header was sent, each entry in the ``x-forwarded-for`` header is evaluated from right to left and the first non-trusted address is used as the original client address. If all addresses in ``x-forwarded-for`` are within the trusted list, the first (leftmost) entry is used. .. warning:: Starting with Envoy v1.33.0, private IP address ranges are **not** automatically skipped when determining the original client address. We'll return the first address that is not in the ``xff_trusted_cidrs`` list, even if it is a private IP address. If you want to skip private IP addresses, explicitly add them to the ``xff_trusted_cidrs`` list. For example: .. code-block:: yaml xff_trusted_cidrs: cidrs: - address_prefix: "10.0.0.0" prefix_len: 8 - address_prefix: "172.16.0.0" prefix_len: 12 - address_prefix: "192.168.0.0" prefix_len: 16 - address_prefix: "127.0.0.0" prefix_len: 8 - address_prefix: "fc00::" prefix_len: 7 - address_prefix: "::1" prefix_len: 128 See :ref:`internal_address_config <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.internal_address_config>` for more information about the v1.33.0 behavior change. This is typically used when requests are proxied by a `CDN <https://en.wikipedia.org/wiki/Content_delivery_network>`_. Only one of ``xff_num_trusted_hops`` and ``xff_trusted_cidrs`` can be set..envoy.extensions.http.original_ip_detection.xff.v3.XffTrustedCidrs xff_trusted_cidrs = 2; -
clearXffTrustedCidrs
The `CIDR <https://tools.ietf.org/html/rfc4632>`_ ranges to trust when evaluating the remote IP address to determine the original client's IP address. This is used instead of :ref:`use_remote_address <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address>`. When the remote IP address matches a trusted CIDR and the :ref:`config_http_conn_man_headers_x-forwarded-for` header was sent, each entry in the ``x-forwarded-for`` header is evaluated from right to left and the first non-trusted address is used as the original client address. If all addresses in ``x-forwarded-for`` are within the trusted list, the first (leftmost) entry is used. .. warning:: Starting with Envoy v1.33.0, private IP address ranges are **not** automatically skipped when determining the original client address. We'll return the first address that is not in the ``xff_trusted_cidrs`` list, even if it is a private IP address. If you want to skip private IP addresses, explicitly add them to the ``xff_trusted_cidrs`` list. For example: .. code-block:: yaml xff_trusted_cidrs: cidrs: - address_prefix: "10.0.0.0" prefix_len: 8 - address_prefix: "172.16.0.0" prefix_len: 12 - address_prefix: "192.168.0.0" prefix_len: 16 - address_prefix: "127.0.0.0" prefix_len: 8 - address_prefix: "fc00::" prefix_len: 7 - address_prefix: "::1" prefix_len: 128 See :ref:`internal_address_config <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.internal_address_config>` for more information about the v1.33.0 behavior change. This is typically used when requests are proxied by a `CDN <https://en.wikipedia.org/wiki/Content_delivery_network>`_. Only one of ``xff_num_trusted_hops`` and ``xff_trusted_cidrs`` can be set..envoy.extensions.http.original_ip_detection.xff.v3.XffTrustedCidrs xff_trusted_cidrs = 2; -
getXffTrustedCidrsBuilder
The `CIDR <https://tools.ietf.org/html/rfc4632>`_ ranges to trust when evaluating the remote IP address to determine the original client's IP address. This is used instead of :ref:`use_remote_address <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address>`. When the remote IP address matches a trusted CIDR and the :ref:`config_http_conn_man_headers_x-forwarded-for` header was sent, each entry in the ``x-forwarded-for`` header is evaluated from right to left and the first non-trusted address is used as the original client address. If all addresses in ``x-forwarded-for`` are within the trusted list, the first (leftmost) entry is used. .. warning:: Starting with Envoy v1.33.0, private IP address ranges are **not** automatically skipped when determining the original client address. We'll return the first address that is not in the ``xff_trusted_cidrs`` list, even if it is a private IP address. If you want to skip private IP addresses, explicitly add them to the ``xff_trusted_cidrs`` list. For example: .. code-block:: yaml xff_trusted_cidrs: cidrs: - address_prefix: "10.0.0.0" prefix_len: 8 - address_prefix: "172.16.0.0" prefix_len: 12 - address_prefix: "192.168.0.0" prefix_len: 16 - address_prefix: "127.0.0.0" prefix_len: 8 - address_prefix: "fc00::" prefix_len: 7 - address_prefix: "::1" prefix_len: 128 See :ref:`internal_address_config <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.internal_address_config>` for more information about the v1.33.0 behavior change. This is typically used when requests are proxied by a `CDN <https://en.wikipedia.org/wiki/Content_delivery_network>`_. Only one of ``xff_num_trusted_hops`` and ``xff_trusted_cidrs`` can be set..envoy.extensions.http.original_ip_detection.xff.v3.XffTrustedCidrs xff_trusted_cidrs = 2; -
getXffTrustedCidrsOrBuilder
The `CIDR <https://tools.ietf.org/html/rfc4632>`_ ranges to trust when evaluating the remote IP address to determine the original client's IP address. This is used instead of :ref:`use_remote_address <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address>`. When the remote IP address matches a trusted CIDR and the :ref:`config_http_conn_man_headers_x-forwarded-for` header was sent, each entry in the ``x-forwarded-for`` header is evaluated from right to left and the first non-trusted address is used as the original client address. If all addresses in ``x-forwarded-for`` are within the trusted list, the first (leftmost) entry is used. .. warning:: Starting with Envoy v1.33.0, private IP address ranges are **not** automatically skipped when determining the original client address. We'll return the first address that is not in the ``xff_trusted_cidrs`` list, even if it is a private IP address. If you want to skip private IP addresses, explicitly add them to the ``xff_trusted_cidrs`` list. For example: .. code-block:: yaml xff_trusted_cidrs: cidrs: - address_prefix: "10.0.0.0" prefix_len: 8 - address_prefix: "172.16.0.0" prefix_len: 12 - address_prefix: "192.168.0.0" prefix_len: 16 - address_prefix: "127.0.0.0" prefix_len: 8 - address_prefix: "fc00::" prefix_len: 7 - address_prefix: "::1" prefix_len: 128 See :ref:`internal_address_config <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.internal_address_config>` for more information about the v1.33.0 behavior change. This is typically used when requests are proxied by a `CDN <https://en.wikipedia.org/wiki/Content_delivery_network>`_. Only one of ``xff_num_trusted_hops`` and ``xff_trusted_cidrs`` can be set..envoy.extensions.http.original_ip_detection.xff.v3.XffTrustedCidrs xff_trusted_cidrs = 2;- Specified by:
getXffTrustedCidrsOrBuilderin interfaceXffConfigOrBuilder
-
hasSkipXffAppend
public boolean hasSkipXffAppend()If set, Envoy will not append the remote address to the :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header. .. attention:: For proper proxy behaviour it is not recommended to set this option. For backwards compatibility, if this option is unset it defaults to true. This only applies when :ref:`use_remote_address <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address>` is false, otherwise :ref:`skip_xff_append <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.skip_xff_append>` applies.
.google.protobuf.BoolValue skip_xff_append = 3;- Specified by:
hasSkipXffAppendin interfaceXffConfigOrBuilder- Returns:
- Whether the skipXffAppend field is set.
-
getSkipXffAppend
public com.google.protobuf.BoolValue getSkipXffAppend()If set, Envoy will not append the remote address to the :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header. .. attention:: For proper proxy behaviour it is not recommended to set this option. For backwards compatibility, if this option is unset it defaults to true. This only applies when :ref:`use_remote_address <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address>` is false, otherwise :ref:`skip_xff_append <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.skip_xff_append>` applies.
.google.protobuf.BoolValue skip_xff_append = 3;- Specified by:
getSkipXffAppendin interfaceXffConfigOrBuilder- Returns:
- The skipXffAppend.
-
setSkipXffAppend
If set, Envoy will not append the remote address to the :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header. .. attention:: For proper proxy behaviour it is not recommended to set this option. For backwards compatibility, if this option is unset it defaults to true. This only applies when :ref:`use_remote_address <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address>` is false, otherwise :ref:`skip_xff_append <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.skip_xff_append>` applies.
.google.protobuf.BoolValue skip_xff_append = 3; -
setSkipXffAppend
If set, Envoy will not append the remote address to the :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header. .. attention:: For proper proxy behaviour it is not recommended to set this option. For backwards compatibility, if this option is unset it defaults to true. This only applies when :ref:`use_remote_address <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address>` is false, otherwise :ref:`skip_xff_append <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.skip_xff_append>` applies.
.google.protobuf.BoolValue skip_xff_append = 3; -
mergeSkipXffAppend
If set, Envoy will not append the remote address to the :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header. .. attention:: For proper proxy behaviour it is not recommended to set this option. For backwards compatibility, if this option is unset it defaults to true. This only applies when :ref:`use_remote_address <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address>` is false, otherwise :ref:`skip_xff_append <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.skip_xff_append>` applies.
.google.protobuf.BoolValue skip_xff_append = 3; -
clearSkipXffAppend
If set, Envoy will not append the remote address to the :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header. .. attention:: For proper proxy behaviour it is not recommended to set this option. For backwards compatibility, if this option is unset it defaults to true. This only applies when :ref:`use_remote_address <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address>` is false, otherwise :ref:`skip_xff_append <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.skip_xff_append>` applies.
.google.protobuf.BoolValue skip_xff_append = 3; -
getSkipXffAppendBuilder
public com.google.protobuf.BoolValue.Builder getSkipXffAppendBuilder()If set, Envoy will not append the remote address to the :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header. .. attention:: For proper proxy behaviour it is not recommended to set this option. For backwards compatibility, if this option is unset it defaults to true. This only applies when :ref:`use_remote_address <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address>` is false, otherwise :ref:`skip_xff_append <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.skip_xff_append>` applies.
.google.protobuf.BoolValue skip_xff_append = 3; -
getSkipXffAppendOrBuilder
public com.google.protobuf.BoolValueOrBuilder getSkipXffAppendOrBuilder()If set, Envoy will not append the remote address to the :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header. .. attention:: For proper proxy behaviour it is not recommended to set this option. For backwards compatibility, if this option is unset it defaults to true. This only applies when :ref:`use_remote_address <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address>` is false, otherwise :ref:`skip_xff_append <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.skip_xff_append>` applies.
.google.protobuf.BoolValue skip_xff_append = 3;- Specified by:
getSkipXffAppendOrBuilderin interfaceXffConfigOrBuilder
-
setUnknownFields
- Specified by:
setUnknownFieldsin interfacecom.google.protobuf.Message.Builder- Overrides:
setUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3.Builder<XffConfig.Builder>
-
mergeUnknownFields
public final XffConfig.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) - Specified by:
mergeUnknownFieldsin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3.Builder<XffConfig.Builder>
-