Envoy 静态配置框架
静态配置框架
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.tcp_proxy.v3.TcpProxy
stat_prefix: ...
cluster: ...
weighted_clusters: {...}
on_demand: {...}
metadata_match: {...}
idle_timeout: {...}
access_log: []
max_connect_attempts: {...}
hash_policy: []
tunneling_config: {...}
max_downstream_connection_duration: {...}
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
codec_type: ...
stat_prefix: ...
rds: {...}
route_config:
name: ...
virtual_hosts:
name: ...
domains: []
routes:
name: ...
match:
prefix: ...
path: ...
safe_regex: {...}
connect_matcher: {...}
path_separated_prefix: ...
case_sensitive: {...}
runtime_fraction: {...}
headers: []
query_parameters: []
grpc: {...}
tls_context: {...}
dynamic_metadata: []
route:
cluster: ...
cluster_header: ...
weighted_clusters: {...}
cluster_specifier_plugin: ...
inline_cluster_specifier_plugin: {...}
cluster_not_found_response_code: ...
metadata_match: {...}
prefix_rewrite: ...
regex_rewrite: {...}
host_rewrite_literal: ...
auto_host_rewrite: {...}
host_rewrite_header: ...
host_rewrite_path_regex: {...}
append_x_forwarded_host: ...
timeout: {...}
idle_timeout: {...}
early_data_policy: {...}
retry_policy: {...}
request_mirror_policies: []
priority: ...
rate_limits: []
include_vh_rate_limits: {...}
hash_policy: []
cors: {...}
max_grpc_timeout: {...}
grpc_timeout_offset: {...}
upgrade_configs: []
internal_redirect_policy: {...}
internal_redirect_action: ...
max_internal_redirects: {...}
hedge_policy: {...}
max_stream_duration: {...}
redirect: {...}
direct_response: {...}
metadata: {...}
decorator: {...}
typed_per_filter_config: {...}
request_headers_to_add: []
request_headers_to_remove: []
response_headers_to_add: []
response_headers_to_remove: []
tracing: {...}
per_request_buffer_limit_bytes: {...}
stat_prefix: ...
matcher: {...}
require_tls: ...
virtual_clusters: []
rate_limits: []
request_headers_to_add: []
request_headers_to_remove: []
response_headers_to_add: []
response_headers_to_remove: []
cors: {...}
typed_per_filter_config: {...}
include_request_attempt_count: ...
include_attempt_count_in_response: ...
retry_policy: {...}
hedge_policy: {...}
per_request_buffer_limit_bytes: {...}
request_mirror_policies: []
vhds: {...}
internal_only_headers: []
response_headers_to_add: []
response_headers_to_remove: []
request_headers_to_add: []
request_headers_to_remove: []
most_specific_header_mutations_wins: ...
validate_clusters: {...}
max_direct_response_body_size_bytes: {...}
cluster_specifier_plugins: []
request_mirror_policies: []
ignore_port_in_host_matching: ...
ignore_path_parameters_in_path_matching: ...
scoped_routes: {...}
http_filters: []
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: []
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: {...}
use_proxy_proto: {...}
transport_socket: {...}
transport_socket_connect_timeout: {...}
name: ...
filter_chain_matcher: {...}
use_original_dst: {...}
default_filter_chain: {...}
per_connection_buffer_limit_bytes: {...}
metadata: {...}
drain_type: ...
listener_filters: []
listener_filters_timeout: {...}
continue_on_listener_filters_timeout: ...
transparent: {...}
freebind: {...}
socket_options: []
tcp_fast_open_queue_length: {...}
traffic_direction: ...
udp_listener_config: {...}
api_listener: {...}
connection_balance_config: {...}
reuse_port: ...
enable_reuse_port: {...}
access_log: []
tcp_backlog_size: {...}
bind_to_port: {...}
internal_listener: {...}
enable_mptcp: ...
ignore_global_conn_limit: ...
clusters: []
secrets: []
参考文档
https://www.envoyproxy.io/docs/envoy/latest/api-v3/bootstrap/bootstrap
https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/listener/v3/listener_components.proto#envoy-v3-api-msg-config-listener-v3-filter