跳到正文
Træfɪk

ServersTransport

ServersTransport 允许配置 Traefik 与 Kubernetes 中 HTTP 服务器之间的连接。

创建 ServersTransport 对象前,需要将 Traefik Kubernetes CRD 应用到 Kubernetes 集群。

这会注册 ServersTransport 类型及其他 Traefik 专用资源。

可以通过以下配置将其应用到服务:

  • IngressRoute 中的 services.serverstransport 选项,适用于 Kubernetes Service 类型的服务
  • TraefikService 中的 serverstransport 选项,适用于 Kubernetes Service 类型的服务

引用其他命名空间中的 ServersTransport CRD

值必须采用 namespace-name@kubernetescrd 格式,并在提供者级别启用 allowCrossNamespace 选项。

启用 safeNaming 后,值改为 namespace_name@kubernetescrd,使用与提供者生成的其他名称相同的 _ 分隔符。

配置示例

apiVersion: traefik.io/v1alpha1
kind: ServersTransport
metadata:
  name: mytransport
  namespace: default

spec:
  serverName: example.org
  insecureSkipVerify: true
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
  name: testroute
  namespace: default

spec:
  entryPoints:
    - web
  routes:
  - match: Host(`example.com`)
    kind: Rule
    services:
    - name: whoami
      port: 80
      serversTransport: mytransport

配置选项

字段 说明 默认值 必填
serverstransport.
serverName
定义 SNI 使用的服务器名称。 否
serverstransport.
insecureSkipVerify
控制是否验证服务器证书链和主机名。 false 否
serverstransport.
rootCAs
验证服务器证书时使用的根证书颁发机构集合。 否
serverstransport.
certificatesSecrets
进行 mTLS 认证时向服务器出示的证书。 否
serverstransport.
maxIdleConnsPerHost
每台主机保留的最大空闲(保持活动)连接数。 0 否
serverstransport.
disableHTTP2
禁用与服务器之间连接的 HTTP/2。 false 否
serverstransport.
peerCertURI
定义验证服务器证书时用于匹配 SAN URI 的 URI。 "" 否
serverstransport.
forwardingTimeouts.dialTimeout
等待与服务器建立连接的时长。
零表示不超时。
30s 否
serverstransport.
forwardingTimeouts.responseHeaderTimeout
完整写出请求(包括请求体,如有)后,等待服务器响应头的时长。
零表示不超时。
0s 否
serverstransport.
forwardingTimeouts.idleConnTimeout
空闲(保持活动)连接在关闭之前可以维持的最长时间。
零表示不超时。
90s 否
serverstransport.
forwardingTimeouts.readIdleTimeout
HTTP/2 连接在此时长内未收到任何帧时,发送 ping 帧执行健康检查。
零表示不超时。
0s 否
serverstransport.
forwardingTimeouts.pingTimeout
发送 ping 后,在此时长内未收到响应则关闭 HTTP/2 连接。
零表示不超时。
0s 否
serverstransport.
spiffe.ids
允许的 SPIFFE ID。
此选项优先于 SPIFFE TrustDomain。
否
serverstransport.
spiffe.trustDomain
允许的 SPIFFE 信任域。 "" 否
serverstransport.
cipherSuites
定义连接后端服务器时使用的密码套件。 [] 否
serverstransport.
minVersion
定义连接后端服务器时使用的最低 TLS 版本。 "" 否
serverstransport.
maxVersion
定义连接后端服务器时使用的最高 TLS 版本。 "" 否

CA Secret

CA Secret 必须在 tls.ca 或 ca.crt 键中包含以 base64 编码的证书。


版权所有 © 头文件软件工作室

文档由 HeadFile Studio 翻译。

Traefik v3.7 中文快照 · 原文版权归 Traefik Labs 及贡献者所有 · MIT 许可证