--- title: "Kubernetes serversTransport" description: "The Kubernetes ServersTransport allows configuring the connection between Traefik and the HTTP servers in Kubernetes." --- A `ServersTransport` allows you to configure the connection between Traefik and the HTTP servers in Kubernetes. Before creating `ServersTransport` objects, you need to apply the [Traefik Kubernetes CRDs](https://doc.traefik.io/traefik/reference/dynamic-configuration/kubernetes-crd/#definitions) to your Kubernetes cluster. This registers the `ServersTransport` kind and other Traefik-specific resources. It can be applied on a service using: - The option `services.serverstransport` on a [`IngressRoute`](./ingressroute.md) (if the service is a Kubernetes Service) - The option `serverstransport` on a [`TraefikService`](./traefikservice.md) (if the service is a Kubernetes Service) !!! note "Reference a ServersTransport CRD from another namespace" The value must be of form `namespace-name@kubernetescrd`, and the `allowCrossNamespace` option must be enabled at the provider level. ## Configuration Example ```yaml tab="serversTransport" apiVersion: traefik.io/v1alpha1 kind: ServersTransport metadata: name: mytransport namespace: default spec: serverName: example.org insecureSkipVerify: true ``` ```yaml tab="IngressRoute" 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 ``` ## Configuration Options | Field | Description | Default | Required | |:------|:----------------------------------------------------------|:---------------------|:---------| | `serverstransport.`
`serverName`
| Defines the server name that will be used for SNI. | | No | | `serverstransport.`
`insecureSkipVerify`
| Controls whether the server's certificate chain and host name is verified. | false | No | | `serverstransport.`
`rootcas`
| Set of root certificate authorities to use when verifying server certificates. (for mTLS connections). | | No | | `serverstransport.`
`certificatesSecrets`
| Certificates to present to the server for mTLS. | | No | | `serverstransport.`
`maxIdleConnsPerHost`
| Maximum idle (keep-alive) connections to keep per-host. | 200 | No | | `serverstransport.`
`disableHTTP2`
| Disables HTTP/2 for connections with servers. | false | No | | `serverstransport.`
`peerCertURI`
| Defines the URI used to match against SAN URIs during the server's certificate verification. | "" | No | | `serverstransport.`
`forwardingTimeouts.dialTimeout`
| Amount of time to wait until a connection to a server can be established.
Zero means no timeout. | 30s | No | | `serverstransport.`
`forwardingTimeouts.responseHeaderTimeout`
| Amount of time to wait for a server's response headers after fully writing the request (including its body, if any).
Zero means no timeout | 0s | No | | `serverstransport.`
`forwardingTimeouts.idleConnTimeout`
| Maximum amount of time an idle (keep-alive) connection will remain idle before closing itself.
Zero means no timeout. | 90s | No | | `serverstransport.`
`spiffe.ids`
| Allow SPIFFE IDs.
This takes precedence over the SPIFFE TrustDomain. | | No | | `serverstransport.`
`spiffe.trustDomain`
| Allow SPIFFE trust domain. | "" | No | !!! note "CA Secret" The CA secret must contain a base64 encoded certificate under either a tls.ca or a ca.crt key.