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: ...

 

posted @ 2022-08-30 17:03  小吉猫  阅读(226)  评论(0编辑  收藏  举报