Envoy "http_connection_manager" 设置问题

Envoy "http_connection_manager" setup issue

我是 Envoy 代理的新手。我正在尝试了解“http_connection_manager

的过滤器基本配置

我有这个代码:

filter_chains:
    - filters:
        - name: envoy.filters.network.http_connection_manager
          typed_config:
            "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
            codec_type: auto
            stat_prefix: ingress_http

我需要帮助来理解什么是会议:

  1. 名称:envoy.filters.network.http_connection_manager ---(我认为这是某种内置的 HTTP 过滤器)

  2. "@type":type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager -- -(我不知道,这是什么)

我试图从官方文档中理解它,也阅读了一些媒体 posts,一些 youtube 视频,但我仍然无法解码这些行的含义。

如果有人有答案,我将不胜感激。即使是任何资源,post 或视频 link,或任何类型的信息也很受欢迎,请尽可能分享。谢谢

  1. name 字段表示您要打开的扩展程序的通用名称。它们通常在名称中包含足够的信息,可以让您稍微了解它们的作用以及它们在工具链中的位置。
    • envoy 表示这是用 envoy 直接打包的。不是第 3 方扩展
    • filters 表示这是一个过滤器扩展。 Envoy 也支持其他类型的 extensions,尽管过滤器可能是最常见的。
    • network 表示这是一个网络过滤器。这在 TCP 级别运行。您通常还会在此处看到 http 用于对 HTTP 请求进行操作的过滤器。
    • http_connection_manager 特定过滤器。这是 HTTP 连接管理器,它基本上做它所说的:处理所有 HTTP 连接。没有它,您将无法获得 HTTP 路由处理、header 操作、虚拟主机等。full features
  2. type 指示将发送到过滤器以对其进行初始化并触发行为的 protobuf 配置的确切规范。它有点不透明,只要知道每个过滤器都有一组 v2 和一组 v3 可用的配置选项即可。对于任何给定的过滤器,envoy 文档对其输入的配置执行 link。例如。 the kafka broker page and the direct proto definition