Skip to content

Traefik TCP ServersTransport 文档

ServersTransport(TCP)

TCP ServersTransport 允许你配置 Traefik 与 TCP 后端服务器之间的传输参数。

配置示例

YAML 格式:

yaml
tcp:
  serversTransports:
    mytransport:
      dialTimeout: "30s"
      dialKeepAlive: "20s"
      terminationDelay: "200ms"
      tls:
        serverName: "example.com"
        certificates:
          - "/path/to/cert1.pem"
          - "/path/to/cert2.pem"
        insecureSkipVerify: true
        rootcas:
          - "/path/to/rootca.pem"
        peerCertURI: "spiffe://example.org/peer"
      spiffe:
        ids:
          - "spiffe://example.org/id1"
          - "spiffe://example.org/id2"
        trustDomain: "example.org"

TOML 格式:

toml
[tcp.serversTransports.mytransport]
  dialTimeout = "30s"
  dialKeepAlive = "20s"
  terminationDelay = "200ms"

  [tcp.serversTransports.mytransport.tls]
    serverName = "example.com"
    certificates = ["/path/to/cert1.pem", "/path/to/cert2.pem"]
    insecureSkipVerify = true
    rootcas = ["/path/to/rootca.pem"]
    peerCertURI = "spiffe://example.org/peer"

  [tcp.serversTransports.mytransport.spiffe]
    ids = ["spiffe://example.org/id1", "spiffe://example.org/id2"]
    trustDomain = "example.org"

配置选项

字段描述默认值必填
dialTimeout建立连接的超时时间。30s
dialKeepAliveTCP keep-alive 间隔。15s
terminationDelay在连接关闭前的等待时间。0
tls.serverName验证后端 TLS 证书的主机名。-
tls.certificates用于 mTLS 客户端认证的证书列表。-
tls.insecureSkipVerify跳过证书验证。false
tls.rootcas根 CA 证书。-
tls.peerCertURI期望对等方证书中的 SPIFFE URI。-
spiffe.ids允许的 SPIFFE ID 列表。-
spiffe.trustDomain信任域。-

将 serversTransport 附加到服务

yaml
tcp:
  services:
    my-service:
      loadBalancer:
        serversTransport: "mytransport"
        servers:
          - address: "10.0.0.10:4000"
          - address: "10.0.0.11:4000"

适用场景

  • 数据库连接:安全地连接到启用 TLS 的数据库
  • mTLS:使用客户端证书验证自身
  • SPIFFE 身份:验证后端服务的身份
  • 特定 TCP 选项:调整 TCP keep-alive、超时

在生产环境使用 Traefik OSS?

如果你在工作中使用 Traefik,可以考虑为其添加企业级 API 网关能力或获取 Traefik OSS 的商业支持。

基于 MIT 协议发布