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

posted @ 2022-08-30 15:47  小吉猫  阅读(125)  评论(0编辑  收藏  举报