网络地址 (proto)

config.core.v3.Pipe

[config.core.v3.Pipe proto]

{
  "path": ...,
  "mode": ...
}
路径

(string, REQUIRED) Unix 域套接字路径。在 Linux 上,以“@”开头的路径将使用抽象命名空间。Envoy 会将开头的“@”替换为空字节。以“@”开头的路径将在 Linux 以外的环境中导致错误。

模式

(uint32) 管道的模式。不适用于抽象套接字。

config.core.v3.EnvoyInternalAddress

[config.core.v3.EnvoyInternalAddress proto]

该地址表示 Envoy 内部监听器。

{
  "server_listener_name": ...,
  "endpoint_id": ...
}
服务器监听器名称

(string, REQUIRED) 指定内部监听器的 名称

端点 ID

(string) 指定端点标识符,以区分单个上游池中同一内部监听器的多个端点。仅在上游地址中使用,用于跟踪对单个端点的更改。例如,这可以设置为目标内部监听器的最终目标 IP。

config.core.v3.SocketAddress

[config.core.v3.SocketAddress proto]

{
  "protocol": ...,
  "address": ...,
  "port_value": ...,
  "named_port": ...,
  "resolver_name": ...,
  "ipv4_compat": ...
}
协议

(config.core.v3.SocketAddress.Protocol)

地址

(string, REQUIRED) 此套接字的地址。 监听器 将绑定到该地址。不允许使用空地址。指定 0.0.0.0:: 以绑定到任何地址。在上游 BindConfig 中使用时,地址控制出站连接的源地址。对于 集群,集群类型决定地址必须是 IP(STATICEDS 集群)还是通过 DNS 解析的主机名(STRICT_DNSLOGICAL_DNS 集群)。可以通过 resolver_name 自定义地址解析。

端口值

(UInt32Value)

必须设置 port_valuenamed_port 之一。

命名端口

(string) 这仅在下面指定了 resolver_name 并且命名的解析器能够进行命名端口解析时有效。

必须设置 port_valuenamed_port 之一。

解析器名称

(string) 自定义解析器的名称。这必须已在 Envoy 中注册。如果为空,则将应用依赖于上下文的默认值。如果地址是具体的 IP 地址,则不会执行解析。如果地址是主机名,则应为此设置进行 DNS 以外的解析。在 STRICT_DNSLOGICAL_DNS 中指定自定义解析器将在运行时生成错误。

IPv4 兼容性

(bool) 在上述绑定到 IPv6 地址时,这将启用 IPv4 兼容性。绑定到 :: 将允许 IPv4 和 IPv6 连接,并将在 IPv6 空间中将对等 IPv4 地址映射为 ::FFFF:<IPv4-address>

枚举 config.core.v3.SocketAddress.Protocol

[config.core.v3.SocketAddress.Protocol proto]

TCP

(默认)

UDP

config.core.v3.TcpKeepalive

[config.core.v3.TcpKeepalive proto]

{
  "keepalive_probes": {...},
  "keepalive_time": {...},
  "keepalive_interval": {...}
}
保活探测

(UInt32Value) 在决定连接已断开之前,在没有响应的情况下可以发送的保活探测的最大数量。默认值是使用操作系统级别的配置(除非覆盖,否则 Linux 默认值为 9)。

保活时间

(UInt32Value) 连接处于空闲状态需要经过的秒数,之后才会开始发送保活探测。默认值是使用操作系统级别的配置(除非覆盖,否则 Linux 默认值为 7200 秒(即 2 小时)。

保活间隔

(UInt32Value) 保活探测之间的秒数。默认值是使用操作系统级别的配置(除非覆盖,否则 Linux 默认值为 75 秒)。

config.core.v3.ExtraSourceAddress

[config.core.v3.ExtraSourceAddress proto]

{
  "address": {...},
  "socket_options": {...}
}
地址

(config.core.v3.SocketAddress, REQUIRED) 要绑定的附加地址。

套接字选项

(config.core.v3.SocketOptionsOverride) 可能不在 Envoy 源代码或预编译二进制文件中存在的其他套接字选项。如果指定,这将覆盖 BindConfig 中的 socket_options。如果指定且没有 socket_options 或空 socket_options 列表,则表示不会应用任何套接字选项。

config.core.v3.BindConfig

[config.core.v3.BindConfig proto]

{
  "source_address": {...},
  "freebind": {...},
  "socket_options": [],
  "extra_source_addresses": [],
  "additional_source_addresses": [],
  "local_address_selector": {...}
}
源地址

(config.core.v3.SocketAddress) 创建套接字时要绑定的地址。

freebind

(BoolValue) 创建套接字时是否设置 IP_FREEBIND 选项。当此标志设置为 true 时,允许 source_address 是未在运行 Envoy 的系统上配置的 IP 地址。当此标志设置为 false 时,选项 IP_FREEBIND 在套接字上被禁用。当此标志未设置(默认值)时,套接字不会被修改,即该选项既不会启用也不会禁用。

套接字选项

(repeated config.core.v3.SocketOption) 可能不在 Envoy 源代码或预编译二进制文件中存在的其他套接字选项。

额外源地址

(repeated config.core.v3.ExtraSourceAddress) 附加到 source_address 字段中指定的地址的额外源地址。这使得能够指定多个源地址。源地址选择由 local_address_selector 决定。

附加源地址

(repeated config.core.v3.SocketAddress) 被 extra_source_addresses 弃用。

本地地址选择器

(config.core.v3.TypedExtensionConfig) 自定义本地地址选择器,用于覆盖默认值(即 DefaultLocalAddressSelector)。

提示

此扩展类别具有以下已知扩展

config.core.v3.Address

[config.core.v3.Address proto]

地址指定逻辑或物理地址和端口,用于告诉 Envoy 在何处绑定/监听、连接到上游以及查找管理服务器。

{
  "socket_address": {...},
  "pipe": {...},
  "envoy_internal_address": {...}
}
套接字地址

(config.core.v3.SocketAddress)

必须设置 socket_addresspipeenvoy_internal_address 之一。

管道

(config.core.v3.Pipe)

必须设置 socket_addresspipeenvoy_internal_address 之一。

envoy 内部地址

(config.core.v3.EnvoyInternalAddress) 指定一个由 内部监听器 处理的用户空间地址。

必须设置 socket_addresspipeenvoy_internal_address 之一。

config.core.v3.CidrRange

[config.core.v3.CidrRange proto]

CidrRange 指定一个 IP 地址和一个前缀长度,用于为 CIDR 范围构建子网掩码。

{
  "address_prefix": ...,
  "prefix_len": {...}
}
address_prefix

(string, REQUIRED) IPv4 或 IPv6 地址,例如 192.0.0.02001:db8::

prefix_len

(UInt32Value) 前缀长度,例如 0、32。未设置时默认为 0。