TCP代理

TCP代理配置概述

filter.network.TcpProxy

filter.network.TcpProxy proto

  1. {
  2. "stat_prefix": "...",
  3. "cluster": "...",
  4. "access_log": [],
  5. "deprecated_v1": "{...}",
  6. "max_connect_attempts": "{...}"
  7. }
  • stat_prefix
    (string, REQUIRED) 发布统计信息时使用的前缀。

  • cluster
    (string) 要连接到的上游群集。

    注意:一旦在监听器中实现了完整的过滤器链匹配,此字段将成为配置目标集群的唯一方法。所有其他匹配将通过过滤器链匹配规则完成。当不需要其他匹配规则时,此配置非常简单,该字段仍可用于选择群集。否则,需要配置deprecated_v1才能在此期间使用更复杂的路由。

  • access_log
    (filter.accesslog.AccessLog) 由此TCP代理发出的访问日志的配置。

  • deprecated_v1
    (filter.network.TcpProxy.DeprecatedV1) 使用不推荐使用v1格式的TCP代理过滤器配置。这是复杂路由所必需的,直到实现了监听器中的过滤器链匹配为止。

  • max_connect_attempts
    (UInt32Value) 在放弃建连之前将尝试的最大失败连接数。如果没有指定参数,则将尝试1次连接。

filter.network.TcpProxy.DeprecatedV1

filter.network.TcpProxy.DeprecatedV1 proto

使用v1格式的TCP代理过滤器配置,直到Envoy能够在监听器级别匹配源/目的地(称为过滤器链匹配)。

  1. {
  2. "routes": []
  3. }

filter.network.TcpProxy.DeprecatedV1.TCPRoute

filter.network.TcpProxy.DeprecatedV1.TCPRoute proto

TCP代理的路由是由一组可选的标准L4和一个集群的名称组成。如果下游连接符合所有指定的条件,则路由中的集群将用于相应的上游连接。按照指定的顺序尝试路由,直到找到匹配项。如果找不到匹配,则连接关闭。并没有规定路由始终有效的并且总是产生一个匹配。

  1. {
  2. "cluster": "...",
  3. "destination_ip_list": [],
  4. "destination_ports": "...",
  5. "source_ip_list": [],
  6. "source_ports": "..."
  7. }
  • cluster
    (string, REQUIRED) 下游网络连接符合匹配条件时需要连接的群集。

  • destination_ip_list
    (CidrRange) 可选的IP地址子网列表,格式为“ip_address/xx”。如果下游连接的目标IP地址,至少被包含在一个指定的子网中,则符合匹配条件。如果未指定参数或列表为空,则将忽略目标IP地址。如果连接已被重定向,则下游连接的目标IP地址可能与代理正在监听的地址不同。

  • destination_ports
    (string) 可选的字符串,包含通过逗号分隔的端口号列表,或者端口范围。如果下游连接的目标端口,至少一个被包含在指定范围内,则符合匹配条件。如果未指定参数,则将忽略目标端口。如果连接已被重定向,下游连接的目标端口地址可能与代理正在监听的端口不同。

  • source_ip_list
    (CidrRange) 可选的IP地址子网列表,格式为“ip_address/xx”。如果下游连接的源IP地址,至少一个被包含在指定的子网中,则符合匹配条件。如果未指定参数或列表为空,则将忽略源IP地址。

  • source_ports
    (string) 可选字符串,包含以逗号分隔的端口号列表,或者端口范围。如果下游连接的源端口,至少一个被包含在指定范围内,则满足匹配条件。如果未指定参数,则源端口将被忽略。

返回