Envoy HttpConnectionManager配置框架
http_connection_manager配置段
https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#extension-envoy-filters-network-http-connection-manager
static_resources:
listeners:
name: ...
address: {...}
additional_addresses: []
stat_prefix: ...
filter_chains:
filter_chain_match: {...}
filters:
name: ... # 过滤器配置的名称。要填写typed_config配置的过滤器指定的名称
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
codec_type: ...
stat_prefix: ...
rds: {...}
route_config: {...}
scoped_routes: {...}
http_filters: [] # 组成过滤器链的单个 HTTP 过滤器列表,用于向连接管理器发出请求。顺序很重要 ,因为过滤器在请求事件发生时按顺序处理。
add_user_agent: {...}
tracing: {...}
common_http_protocol_options: {...}
http_protocol_options: {...}
http2_protocol_options: {...}
server_name: ...
server_header_transformation: ...
scheme_header_transformation: {...}
max_request_headers_kb: {...}
stream_idle_timeout: {...}
request_timeout: {...}
request_headers_timeout: {...}
drain_timeout: {...}
delayed_close_timeout: {...}
access_log: [] # 连接管理器发出的HTTP 访问日志的配置。
use_remote_address: {...}
xff_num_trusted_hops: ...
original_ip_detection_extensions: []
internal_address_config: {...}
skip_xff_append: ...
via: ...
generate_request_id: {...}
preserve_external_request_id: ...
always_set_request_id_in_response: ...
forward_client_cert_details: ...
set_current_client_cert_details: {...}
proxy_100_continue: ...
upgrade_configs: []
normalize_path: {...}
merge_slashes: ...
path_with_escaped_slashes_action: ...
request_id_extension: {...}
local_reply_config: {...}
strip_matching_host_port: ...
strip_any_host_port: ...
stream_error_on_invalid_http_message: {...}
strip_trailing_host_dot: ...
proxy_status_config: {...}
http_connection_manager.v3.HttpFilter
https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-msg-extensions-filters-network-http-connection-manager-v3-httpfilter
static_resources:
listeners:
name: ...
address: {...}
additional_addresses: []
stat_prefix: ...
filter_chains:
filter_chain_match: {...}
filters:
name: ...
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
...
route_config: {...}
scoped_routes: {...}
http_filters: # 组成过滤器链的单个 HTTP 过滤器列表,用于向连接管理器发出请求。顺序很重要 ,因为过滤器在请求事件发生时按顺序处理。
name: ... # 过滤器配置的名称。它还用作 ExtensionConfigDS 中的资源名称。要填写typed_config配置的过滤器指定的名称
typed_config: {...} # 过滤器特定配置,这取决于被实例化的过滤器。只能设置typed_config、config_discovery之一。
config_discovery: {...} # 扩展配置发现服务的配置源说明符。如果发生故障且没有默认配置,HTTP 侦听器会以代码 500 进行响应。通过此机制交付的扩展配置预计不需要预热。只能设置typed_config、config_discovery之一。
is_optional: ...