Postgres 代理(proto)
此扩展的限定名为 envoy.filters.network.postgres_proxy
注意
此扩展仅在 contrib 镜像中可用。
注意
此扩展未经过强化,应仅在上下游均受信任的部署中使用。
警告
此 API 功能目前尚在开发中。标记为正在开发中的 API 功能不被视为稳定,不受 威胁模型 涵盖,不受安全团队支持,并且可能会发生重大更改。请勿在不了解上述所有要点的情况下使用此功能。
Postgres 代理 配置概述.
extensions.filters.network.postgres_proxy.v3alpha.PostgresProxy
[extensions.filters.network.postgres_proxy.v3alpha.PostgresProxy proto]
{
"stat_prefix": ...,
"enable_sql_parsing": {...},
"terminate_ssl": ...,
"upstream_ssl": ...
}
- enable_sql_parsing
(BoolValue) 控制是否解析在前端查询消息中接收到的 SQL 语句。解析是生成 Postgres 代理过滤器元数据所必需的。默认为 true。
- terminate_ssl
(bool) 控制是否终止由客户端发起的 SSL 会话。如果该值为 false,则 Postgres 代理过滤器将不会尝试终止 SSL 会话,而是将所有数据包传递给上游服务器。如果该值为 true,则 Postgres 代理过滤器将尝试终止 SSL 会话。为此,过滤器链必须使用 starttls 传输套接字。如果过滤器未能终止 SSL 会话,它将关闭来自客户端的连接。有关详细信息,请参阅官方文档 SSL 会话加密消息流.
- upstream_ssl
(extensions.filters.network.postgres_proxy.v3alpha.PostgresProxy.SSLMode) 控制是否建立到服务器的上游 SSL 连接。只有当 Postgres 过滤器能够以明文读取 Postgres 负载时,Envoy 才会尝试建立到服务器的上游 SSL 连接。这种情况发生在客户端建立与 Envoy 的明文连接时,或者在客户端建立与 Envoy 的 SSL 连接且 Postgres 过滤器配置为终止 SSL 时。为了使上游加密生效,相应的集群必须配置为使用 starttls 传输套接字。默认为
SSL_DISABLE。
Enum extensions.filters.network.postgres_proxy.v3alpha.PostgresProxy.SSLMode
[extensions.filters.network.postgres_proxy.v3alpha.PostgresProxy.SSLMode proto]
上游 SSL 操作模式。
- DISABLE
(DEFAULT) 不要加密到服务器的上游连接。
- REQUIRE
建立到服务器的上游 SSL 连接。如果服务器不接受 SSL 连接请求,则会话将终止。