package envoy.extensions.upstreams.http.v3

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

message HttpProtocolOptions

http_protocol_options.proto:63

HttpProtocolOptions specifies Http upstream protocol options. This object is used in :ref:`typed_extension_protocol_options<envoy_v3_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`, keyed by the name ``envoy.extensions.upstreams.http.v3.HttpProtocolOptions``. This controls what protocol(s) should be used for upstream and how said protocol(s) are configured. This replaces the prior pattern of explicit protocol configuration directly in the cluster. So a configuration like this, explicitly configuring the use of HTTP/2 upstream: .. code:: clusters: - name: some_service connect_timeout: 5s upstream_http_protocol_options: auto_sni: true common_http_protocol_options: idle_timeout: 1s http2_protocol_options: max_concurrent_streams: 100 .... [further cluster config] Would now look like this: .. code:: clusters: - name: some_service connect_timeout: 5s typed_extension_protocol_options: envoy.extensions.upstreams.http.v3.HttpProtocolOptions: "@type": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions upstream_http_protocol_options: auto_sni: true common_http_protocol_options: idle_timeout: 1s explicit_http_config: http2_protocol_options: max_concurrent_streams: 100 .... [further cluster config] [#next-free-field: 8]

message HttpProtocolOptions.AutoHttpConfig

http_protocol_options.proto:106

If this is used, the cluster can use either HTTP/1 or HTTP/2, and will use whichever protocol is negotiated by ALPN with the upstream. Clusters configured with ``AutoHttpConfig`` will use the highest available protocol; HTTP/2 if supported, otherwise HTTP/1. If the upstream does not support ALPN, ``AutoHttpConfig`` will fail over to HTTP/1. This can only be used with transport sockets which support ALPN. Using a transport socket which does not support ALPN will result in configuration failure. The transport layer may be configured with custom ALPN, but the default ALPN for the cluster (or if custom ALPN fails) will be "h2,http/1.1".

Used in: HttpProtocolOptions

message HttpProtocolOptions.ExplicitHttpConfig

http_protocol_options.proto:66

If this is used, the cluster will only operate on one of the possible upstream protocols. Note that HTTP/2 or above should generally be used for upstream gRPC clusters.

Used in: HttpProtocolOptions

message HttpProtocolOptions.UseDownstreamHttpConfig

http_protocol_options.proto:86

If this is used, the cluster can use either of the configured protocols, and will use whichever protocol was used by the downstream connection. If HTTP/3 is configured for downstream and not configured for upstream, HTTP/3 requests will fail over to HTTP/2.

Used in: HttpProtocolOptions