Class ProxyProtocol
java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3
io.envoyproxy.envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol
- All Implemented Interfaces:
com.google.protobuf.Message,com.google.protobuf.MessageLite,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,ProxyProtocolOrBuilder,Serializable
public final class ProxyProtocol
extends com.google.protobuf.GeneratedMessageV3
implements ProxyProtocolOrBuilder
[#next-free-field: 7]Protobuf type
envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final class[#next-free-field: 7]static final classProtobuf typeenvoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.KeyValuePairstatic interfacestatic final classA Rule defines what metadata to apply when a header is present or missing.static interfacestatic enumControls where TLV values are stored when rules match.Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3
com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>,BuilderT extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT, BuilderT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessageLite.InternalOneOfEnum -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intFields inherited from class com.google.protobuf.GeneratedMessageV3
alwaysUseFieldBuilders, unknownFieldsFields inherited from class com.google.protobuf.AbstractMessage
memoizedSizeFields inherited from class com.google.protobuf.AbstractMessageLite
memoizedHashCode -
Method Summary
Modifier and TypeMethodDescriptionbooleanbooleanAllow requests through that don't use proxy protocol.static ProxyProtocolstatic final com.google.protobuf.Descriptors.DescriptorgetDisallowedVersions(int index) The PROXY protocol versions that won't be matched.intThe PROXY protocol versions that won't be matched.The PROXY protocol versions that won't be matched.intgetDisallowedVersionsValue(int index) The PROXY protocol versions that won't be matched.The PROXY protocol versions that won't be matched.com.google.protobuf.Parser<ProxyProtocol>This config controls which TLVs can be passed to filter state if it is Proxy Protocol V2 header.This config controls which TLVs can be passed to filter state if it is Proxy Protocol V2 header.getRules(int index) The list of rules to apply to requests.intThe list of rules to apply to requests.The list of rules to apply to requests.getRulesOrBuilder(int index) The list of rules to apply to requests.List<? extends ProxyProtocol.RuleOrBuilder>The list of rules to apply to requests.intThe human readable prefix to use when emitting statistics for the filter.com.google.protobuf.ByteStringThe human readable prefix to use when emitting statistics for the filter.Controls where TLV values are stored when rules match.intControls where TLV values are stored when rules match.inthashCode()booleanThis config controls which TLVs can be passed to filter state if it is Proxy Protocol V2 header.protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTablefinal booleanstatic ProxyProtocol.Builderstatic ProxyProtocol.BuildernewBuilder(ProxyProtocol prototype) protected ProxyProtocol.BuildernewBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) protected ObjectnewInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused) static ProxyProtocolparseDelimitedFrom(InputStream input) static ProxyProtocolparseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static ProxyProtocolparseFrom(byte[] data) static ProxyProtocolparseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static ProxyProtocolparseFrom(com.google.protobuf.ByteString data) static ProxyProtocolparseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static ProxyProtocolparseFrom(com.google.protobuf.CodedInputStream input) static ProxyProtocolparseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static ProxyProtocolparseFrom(InputStream input) static ProxyProtocolparseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static ProxyProtocolparseFrom(ByteBuffer data) static ProxyProtocolparseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static com.google.protobuf.Parser<ProxyProtocol>parser()voidwriteTo(com.google.protobuf.CodedOutputStream output) Methods inherited from class com.google.protobuf.GeneratedMessageV3
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, isStringEmpty, makeExtensionsImmutable, makeMutableCopy, makeMutableCopy, mergeFromAndMakeImmutableInternal, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBooleanList, newBuilderForType, newDoubleList, newFloatList, newIntList, newLongList, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTagMethods inherited from class com.google.protobuf.AbstractMessage
findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toStringMethods inherited from class com.google.protobuf.AbstractMessageLite
addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.google.protobuf.MessageLite
toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Field Details
-
RULES_FIELD_NUMBER
public static final int RULES_FIELD_NUMBER- See Also:
-
ALLOW_REQUESTS_WITHOUT_PROXY_PROTOCOL_FIELD_NUMBER
public static final int ALLOW_REQUESTS_WITHOUT_PROXY_PROTOCOL_FIELD_NUMBER- See Also:
-
PASS_THROUGH_TLVS_FIELD_NUMBER
public static final int PASS_THROUGH_TLVS_FIELD_NUMBER- See Also:
-
DISALLOWED_VERSIONS_FIELD_NUMBER
public static final int DISALLOWED_VERSIONS_FIELD_NUMBER- See Also:
-
STAT_PREFIX_FIELD_NUMBER
public static final int STAT_PREFIX_FIELD_NUMBER- See Also:
-
TLV_LOCATION_FIELD_NUMBER
public static final int TLV_LOCATION_FIELD_NUMBER- See Also:
-
-
Method Details
-
newInstance
- Overrides:
newInstancein classcom.google.protobuf.GeneratedMessageV3
-
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
-
getRulesList
The list of rules to apply to requests.
repeated .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule rules = 1;- Specified by:
getRulesListin interfaceProxyProtocolOrBuilder
-
getRulesOrBuilderList
The list of rules to apply to requests.
repeated .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule rules = 1;- Specified by:
getRulesOrBuilderListin interfaceProxyProtocolOrBuilder
-
getRulesCount
public int getRulesCount()The list of rules to apply to requests.
repeated .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule rules = 1;- Specified by:
getRulesCountin interfaceProxyProtocolOrBuilder
-
getRules
The list of rules to apply to requests.
repeated .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule rules = 1;- Specified by:
getRulesin interfaceProxyProtocolOrBuilder
-
getRulesOrBuilder
The list of rules to apply to requests.
repeated .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule rules = 1;- Specified by:
getRulesOrBuilderin interfaceProxyProtocolOrBuilder
-
getAllowRequestsWithoutProxyProtocol
public 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;- Specified by:
getAllowRequestsWithoutProxyProtocolin interfaceProxyProtocolOrBuilder- Returns:
- The allowRequestsWithoutProxyProtocol.
-
hasPassThroughTlvs
public 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;- Specified by:
hasPassThroughTlvsin interfaceProxyProtocolOrBuilder- Returns:
- Whether the passThroughTlvs field is set.
-
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;- Specified by:
getPassThroughTlvsin interfaceProxyProtocolOrBuilder- Returns:
- The passThroughTlvs.
-
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;- Specified by:
getPassThroughTlvsOrBuilderin interfaceProxyProtocolOrBuilder
-
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;- Specified by:
getDisallowedVersionsListin interfaceProxyProtocolOrBuilder- Returns:
- A list containing the disallowedVersions.
-
getDisallowedVersionsCount
public 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;- Specified by:
getDisallowedVersionsCountin interfaceProxyProtocolOrBuilder- Returns:
- The count of disallowedVersions.
-
getDisallowedVersions
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;- Specified by:
getDisallowedVersionsin interfaceProxyProtocolOrBuilder- Parameters:
index- The index of the element to return.- Returns:
- The disallowedVersions at the given index.
-
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;- Specified by:
getDisallowedVersionsValueListin interfaceProxyProtocolOrBuilder- Returns:
- A list containing the enum numeric values on the wire for disallowedVersions.
-
getDisallowedVersionsValue
public 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;- Specified by:
getDisallowedVersionsValuein interfaceProxyProtocolOrBuilder- Parameters:
index- The index of the value to return.- Returns:
- The enum numeric value on the wire of disallowedVersions at the given index.
-
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;- Specified by:
getStatPrefixin interfaceProxyProtocolOrBuilder- Returns:
- The statPrefix.
-
getStatPrefixBytes
public 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;- Specified by:
getStatPrefixBytesin interfaceProxyProtocolOrBuilder- Returns:
- The bytes for statPrefix.
-
getTlvLocationValue
public 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;- Specified by:
getTlvLocationValuein interfaceProxyProtocolOrBuilder- Returns:
- The enum numeric value on the wire for 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;- Specified by:
getTlvLocationin interfaceProxyProtocolOrBuilder- Returns:
- The tlvLocation.
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3
-
writeTo
- Specified by:
writeToin interfacecom.google.protobuf.MessageLite- Overrides:
writeToin classcom.google.protobuf.GeneratedMessageV3- Throws:
IOException
-
getSerializedSize
public int getSerializedSize()- Specified by:
getSerializedSizein interfacecom.google.protobuf.MessageLite- Overrides:
getSerializedSizein classcom.google.protobuf.GeneratedMessageV3
-
equals
- Specified by:
equalsin interfacecom.google.protobuf.Message- Overrides:
equalsin classcom.google.protobuf.AbstractMessage
-
hashCode
public int hashCode()- Specified by:
hashCodein interfacecom.google.protobuf.Message- Overrides:
hashCodein classcom.google.protobuf.AbstractMessage
-
parseFrom
public static ProxyProtocol parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static ProxyProtocol parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static ProxyProtocol parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static ProxyProtocol parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static ProxyProtocol parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static ProxyProtocol parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
- Throws:
IOException
-
parseFrom
public static ProxyProtocol parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseDelimitedFrom
- Throws:
IOException
-
parseDelimitedFrom
public static ProxyProtocol parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseFrom
public static ProxyProtocol parseFrom(com.google.protobuf.CodedInputStream input) throws IOException - Throws:
IOException
-
parseFrom
public static ProxyProtocol parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
newBuilderForType
- Specified by:
newBuilderForTypein interfacecom.google.protobuf.Message- Specified by:
newBuilderForTypein interfacecom.google.protobuf.MessageLite
-
newBuilder
-
newBuilder
-
toBuilder
- Specified by:
toBuilderin interfacecom.google.protobuf.Message- Specified by:
toBuilderin interfacecom.google.protobuf.MessageLite
-
newBuilderForType
protected ProxyProtocol.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) - Specified by:
newBuilderForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstance
-
parser
-
getParserForType
- Specified by:
getParserForTypein interfacecom.google.protobuf.Message- Specified by:
getParserForTypein interfacecom.google.protobuf.MessageLite- Overrides:
getParserForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-