|
|
|
@ -38,10 +38,31 @@ message UpstreamHttpProtocolOptions { |
|
|
|
|
bool auto_san_validation = 2; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// [#next-free-field: 6] |
|
|
|
|
message HttpProtocolOptions { |
|
|
|
|
option (udpa.annotations.versioning).previous_message_type = |
|
|
|
|
"envoy.api.v2.core.HttpProtocolOptions"; |
|
|
|
|
|
|
|
|
|
// Action to take when Envoy receives client request with header names containing underscore |
|
|
|
|
// characters. |
|
|
|
|
// Underscore character is allowed in header names by the RFC-7230 and this behavior is implemented |
|
|
|
|
// as a security measure due to systems that treat '_' and '-' as interchangeable. Envoy by default allows client request headers with underscore |
|
|
|
|
// characters. |
|
|
|
|
enum HeadersWithUnderscoresAction { |
|
|
|
|
// Allow headers with underscores. This is the default behavior. |
|
|
|
|
ALLOW = 0; |
|
|
|
|
|
|
|
|
|
// Reject client request. HTTP/1 requests are rejected with the 400 status. HTTP/2 requests |
|
|
|
|
// end with the stream reset. The "httpN.requests_rejected_with_underscores_in_headers" counter |
|
|
|
|
// is incremented for each rejected request. |
|
|
|
|
REJECT_REQUEST = 1; |
|
|
|
|
|
|
|
|
|
// Drop the header with name containing underscores. The header is dropped before the filter chain is |
|
|
|
|
// invoked and as such filters will not see dropped headers. The |
|
|
|
|
// "httpN.dropped_headers_with_underscores" is incremented for each dropped header. |
|
|
|
|
DROP_HEADER = 2; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// The idle timeout for connections. The idle timeout is defined as the |
|
|
|
|
// period in which there are no active requests. If not set, there is no idle timeout. When the |
|
|
|
|
// idle timeout is reached the connection will be closed. If the connection is an HTTP/2 |
|
|
|
@ -74,6 +95,11 @@ message HttpProtocolOptions { |
|
|
|
|
// The current implementation implements this timeout on downstream connections only. |
|
|
|
|
// [#comment:TODO(shikugawa): add this functionality to upstream.] |
|
|
|
|
google.protobuf.Duration max_stream_duration = 4; |
|
|
|
|
|
|
|
|
|
// Action to take when a client request with a header name containing underscore characters is received. |
|
|
|
|
// If this setting is not specified, the value defaults to ALLOW. |
|
|
|
|
// Note: upstream responses are not affected by this setting. |
|
|
|
|
HeadersWithUnderscoresAction headers_with_underscores_action = 5; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// [#next-free-field: 6] |
|
|
|
|