1
0
Fork 0

Merge branch v3.5 into master

This commit is contained in:
kevinpollet 2025-10-07 15:50:53 +02:00
commit 3f23afb2c6
No known key found for this signature in database
GPG key ID: 0C9A5DDD1B292453
150 changed files with 904 additions and 821 deletions

View file

@ -90,7 +90,7 @@ This confirms that Traefik is successfully routing requests to your whoami appli
## Add Routing Rules
Now we'll enhance our routing by directing traffic to different services based on [URL paths](../reference/routing-configuration/http/router/rules-and-priority.md#path-pathprefix-and-pathregexp). This is useful for API versioning, frontend/backend separation, or organizing microservices.
Now we'll enhance our routing by directing traffic to different services based on [URL paths](../reference/routing-configuration/http/routing/rules-and-priority.md#path-pathprefix-and-pathregexp). This is useful for API versioning, frontend/backend separation, or organizing microservices.
Update your `docker-compose.yml` to add another service:
@ -457,7 +457,7 @@ These fundamental capabilities provide a solid foundation for exposing any appli
Now that you understand the basics of exposing services with Traefik Proxy, you might want to explore:
- [Advanced routing options](../reference/routing-configuration/http/router/rules-and-priority.md) like query parameter matching, header-based routing, and more
- [Advanced routing options](../reference/routing-configuration/http/routing/rules-and-priority.md) like query parameter matching, header-based routing, and more
- [Additional middlewares](../reference/routing-configuration/http/middlewares/overview.md) for authentication, rate limiting, and request modifications
- [Observability features](../reference/install-configuration/observability/metrics.md) for monitoring and debugging your Traefik deployment
- [TCP services](../reference/routing-configuration/tcp/service.md) for exposing TCP services

View file

@ -1005,7 +1005,7 @@ These fundamental capabilities provide a solid foundation for exposing any appli
Now that you understand the basics of exposing services with Traefik Proxy, you might want to explore:
- [Advanced routing options](../reference/routing-configuration/http/router/rules-and-priority.md) like query parameter matching, header-based routing, and more
- [Advanced routing options](../reference/routing-configuration/http/routing/rules-and-priority.md) like query parameter matching, header-based routing, and more
- [Additional middlewares](../reference/routing-configuration/http/middlewares/overview.md) for authentication, rate limiting, and request modifications
- [Observability features](../reference/install-configuration/observability/metrics.md) for monitoring and debugging your Traefik deployment
- [TCP services](../reference/routing-configuration/tcp/service.md) for exposing TCP services

View file

@ -68,7 +68,7 @@ This confirms that Traefik is successfully routing requests to your whoami appli
## Add Routing Rules
Now we'll enhance our routing by directing traffic to different services based on [URL paths](../reference/routing-configuration/http/router/rules-and-priority.md#path-pathprefix-and-pathregexp). This is useful for API versioning, frontend/backend separation, or organizing microservices.
Now we'll enhance our routing by directing traffic to different services based on [URL paths](../reference/routing-configuration/http/routing/rules-and-priority.md#path-pathprefix-and-pathregexp). This is useful for API versioning, frontend/backend separation, or organizing microservices.
Update your `docker-compose.yml` to add another service:
@ -393,7 +393,7 @@ These fundamental capabilities provide a solid foundation for exposing any appli
Now that you understand the basics of exposing services with Traefik Proxy, you might want to explore:
- [Advanced routing options](../reference/routing-configuration/http/router/rules-and-priority.md) like query parameter matching, header-based routing, and more
- [Advanced routing options](../reference/routing-configuration/http/routing/rules-and-priority.md) like query parameter matching, header-based routing, and more
- [Additional middlewares](../reference/routing-configuration/http/middlewares/overview.md) for authentication, rate limiting, and request modifications
- [Observability features](../reference/install-configuration/observability/metrics.md) for monitoring and debugging your Traefik deployment
- [TCP services](../reference/routing-configuration/tcp/service.md) for exposing TCP services

View file

@ -388,6 +388,7 @@ For complete details, refer to your provider's _Additional configuration_ link.
| [Azure](https://azure.microsoft.com/services/dns/) (DEPRECATED) | `azure` | DEPRECATED use `azuredns` instead. | [Additional configuration](https://go-acme.github.io/lego/dns/azure) |
| [AzureDNS](https://azure.microsoft.com/services/dns/) | `azuredns` | `AZURE_CLIENT_ID`, `AZURE_CLIENT_SECRET`, `AZURE_TENANT_ID`, `AZURE_SUBSCRIPTION_ID`, `AZURE_RESOURCE_GROUP`, `[AZURE_ENVIRONMENT]`, `[AZURE_PRIVATE_ZONE]`, `[AZURE_ZONE_NAME]` | [Additional configuration](https://go-acme.github.io/lego/dns/azuredns) |
| [Baidu Cloud](https://cloud.baidu.com) | `baiducloud` | `BAIDUCLOUD_ACCESS_KEY_ID`, `BAIDUCLOUD_SECRET_ACCESS_KEY` | [Additional configuration](https://go-acme.github.io/lego/dns/baiducloud) |
| [Binary Lane](https://www.binarylane.com.au/) | `binarylane` | `BINARYLANE_API_TOKEN` | [Additional configuration](https://go-acme.github.io/lego/dns/binarylane) |
| [Bindman](https://github.com/labbsr0x/bindman-dns-webhook) | `bindman` | `BINDMAN_MANAGER_ADDRESS` | [Additional configuration](https://go-acme.github.io/lego/dns/bindman) |
| [Blue Cat](https://www.bluecatnetworks.com/) | `bluecat` | `BLUECAT_SERVER_URL`, `BLUECAT_USER_NAME`, `BLUECAT_PASSWORD`, `BLUECAT_CONFIG_NAME`, `BLUECAT_DNS_VIEW` | [Additional configuration](https://go-acme.github.io/lego/dns/bluecat) |
| [BookMyName](https://www.bookmyname.com) | `bookmyname` | `BOOKMYNAME_USERNAME`, `BOOKMYNAME_PASSWORD` | [Additional configuration](https://go-acme.github.io/lego/dns/bookmyname) |
@ -453,6 +454,7 @@ For complete details, refer to your provider's _Additional configuration_ link.
| [IPv64](https://ipv64.net) | `ipv64` | `IPV64_API_KEY` | [Additional configuration](https://go-acme.github.io/lego/dns/ipv64) |
| [iwantmyname](https://iwantmyname.com) | `iwantmyname` | `IWANTMYNAME_USERNAME` , `IWANTMYNAME_PASSWORD` | [Additional configuration](https://go-acme.github.io/lego/dns/iwantmyname) |
| [Joker.com](https://joker.com) | `joker` | `JOKER_API_MODE` with `JOKER_API_KEY` or `JOKER_USERNAME`, `JOKER_PASSWORD` | [Additional configuration](https://go-acme.github.io/lego/dns/joker) |
| [KeyHelp](https://www.keyweb.de/en/keyhelp/keyhelp/) | `keyhelp` | `KEYHELP_API_KEY`, `KEYHELP_BASE_URL` | [Additional configuration](https://go-acme.github.io/lego/dns/keyhelp) |
| [Liara](https://liara.ir) | `liara` | `LIARA_API_KEY` | [Additional configuration](https://go-acme.github.io/lego/dns/liara) |
| [Lightsail](https://aws.amazon.com/lightsail/) | `lightsail` | `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `DNS_ZONE` | [Additional configuration](https://go-acme.github.io/lego/dns/lightsail) |
| [Lima-City](https://www.lima-city.de) | `limacity` | `LIMACITY_API_KEY` | [Additional configuration](https://go-acme.github.io/lego/dns/limacity) |
@ -509,6 +511,7 @@ For complete details, refer to your provider's _Additional configuration_ link.
| [Stackpath](https://www.stackpath.com/) | `stackpath` | `STACKPATH_CLIENT_ID`, `STACKPATH_CLIENT_SECRET`, `STACKPATH_STACK_ID` | [Additional configuration](https://go-acme.github.io/lego/dns/stackpath) |
| [Technitium](https://technitium.com) | `technitium` | `TECHNITIUM_SERVER_BASE_URL`, `TECHNITIUM_API_TOKEN` | [Additional configuration](https://go-acme.github.io/lego/dns/technitium) |
| [Tencent Cloud DNS](https://cloud.tencent.com/product/cns) | `tencentcloud` | `TENCENTCLOUD_SECRET_ID`, `TENCENTCLOUD_SECRET_KEY` | [Additional configuration](https://go-acme.github.io/lego/dns/tencentcloud) |
| [Tencent EdgeOne](https://edgeone.ai/) | `edgeone` | `EDGEONE_SECRET_ID`, `EDGEONE_SECRET_KEY` | [Additional configuration](https://go-acme.github.io/lego/dns/edgeone) |
| [Timeweb Cloud](https://timeweb.cloud) | `timewebcloud` | `TIMEWEBCLOUD_AUTH_TOKEN` | [Additional configuration](https://go-acme.github.io/lego/dns/timewebcloud) |
| [TransIP](https://www.transip.nl/) | `transip` | `TRANSIP_ACCOUNT_NAME`, `TRANSIP_PRIVATE_KEY_PATH` | [Additional configuration](https://go-acme.github.io/lego/dns/transip) |
| [UKFast SafeDNS](https://docs.ukfast.co.uk/domains/safedns/index.html) | `safedns` | `SAFEDNS_AUTH_TOKEN` | [Additional configuration](https://go-acme.github.io/lego/dns/safedns) |

View file

@ -33,7 +33,7 @@ Traefik supports different needs depending on your background. We keep three use
Traefiks main concepts help you understand how requests flow to your services:
- [Entrypoints](./reference/install-configuration/entrypoints.md) are the network entry points into Traefik. They define the port that will receive the packets and whether to listen for TCP or UDP.
- [Routers](./reference/routing-configuration/http/router/rules-and-priority.md) are in charge of connecting incoming requests to the services that can handle them. In the process, routers may use pieces of [middleware](./reference/routing-configuration/http/middlewares/overview.md) to update the request or act before forwarding the request to the service.
- [Routers](./reference/routing-configuration/http/routing/rules-and-priority.md) are in charge of connecting incoming requests to the services that can handle them. In the process, routers may use pieces of [middleware](./reference/routing-configuration/http/middlewares/overview.md) to update the request or act before forwarding the request to the service.
- [Services](./reference/routing-configuration/http/load-balancing/service.md) are responsible for configuring how to reach the actual services that will eventually handle the incoming requests.
- [Providers](./reference/install-configuration/providers/overview.md) are infrastructure components, whether orchestrators, container engines, cloud providers, or key-value stores. The idea is that Traefik queries the provider APIs in order to find relevant information about routing, and when Traefik detects a change, it dynamically updates the routes.

View file

@ -452,7 +452,7 @@ Possible values are:
- `minimal`: produces a single server span and one client span for each request processed by a router.
- `detailed`: enables the creation of additional spans for each middleware executed for each request processed by a router.
See the updated documentation for [entrypoints](../reference/install-configuration/entrypoints.md) and [dynamic routers](../reference/routing-configuration/http/router/observability.md#traceverbosity).
See the updated documentation for [entrypoints](../reference/install-configuration/entrypoints.md) and [dynamic routers](../reference/routing-configuration/http/routing/observability.md#traceverbosity).
#### K8s Resource Attributes

View file

@ -5,7 +5,7 @@ description: "Traefik supports several tracing backends, including OpenTelemetry
# OpenTelemetry
Traefik Proxy follows [official OpenTelemetry semantic conventions v1.26.0](https://github.com/open-telemetry/semantic-conventions/blob/v1.26.0/docs/http/http-spans.md).
Traefik Proxy follows [official OpenTelemetry semantic conventions v1.37.0](https://github.com/open-telemetry/semantic-conventions/blob/v1.37.0/docs/http/http-spans.md).
To enable the OpenTelemetry tracer:

View file

@ -234,7 +234,7 @@ THIS FILE MUST NOT BE EDITED BY HAND
| <a id="ping-entrypoint" href="#ping-entrypoint" title="#ping-entrypoint">ping.entrypoint</a> | EntryPoint | traefik |
| <a id="ping-manualrouting" href="#ping-manualrouting" title="#ping-manualrouting">ping.manualrouting</a> | Manual routing | false |
| <a id="ping-terminatingstatuscode" href="#ping-terminatingstatuscode" title="#ping-terminatingstatuscode">ping.terminatingstatuscode</a> | Terminating status code | 503 |
| <a id="providers-consul" href="#providers-consul" title="#providers-consul">providers.consul</a> | Enable Consul backend with default settings. | false |
| <a id="providers-consul" href="#providers-consul" title="#providers-consul">providers.consul</a> | Enables Consul provider. | false |
| <a id="providers-consul-endpoints" href="#providers-consul-endpoints" title="#providers-consul-endpoints">providers.consul.endpoints</a> | KV store endpoints. | 127.0.0.1:8500 |
| <a id="providers-consul-namespaces" href="#providers-consul-namespaces" title="#providers-consul-namespaces">providers.consul.namespaces</a> | Sets the namespaces used to discover the configuration (Consul Enterprise only). | |
| <a id="providers-consul-rootkey" href="#providers-consul-rootkey" title="#providers-consul-rootkey">providers.consul.rootkey</a> | Root key used for KV store. | traefik |
@ -243,7 +243,7 @@ THIS FILE MUST NOT BE EDITED BY HAND
| <a id="providers-consul-tls-insecureskipverify" href="#providers-consul-tls-insecureskipverify" title="#providers-consul-tls-insecureskipverify">providers.consul.tls.insecureskipverify</a> | TLS insecure skip verify | false |
| <a id="providers-consul-tls-key" href="#providers-consul-tls-key" title="#providers-consul-tls-key">providers.consul.tls.key</a> | TLS key | |
| <a id="providers-consul-token" href="#providers-consul-token" title="#providers-consul-token">providers.consul.token</a> | Per-request ACL token. | |
| <a id="providers-consulcatalog" href="#providers-consulcatalog" title="#providers-consulcatalog">providers.consulcatalog</a> | Enable ConsulCatalog backend with default settings. | false |
| <a id="providers-consulcatalog" href="#providers-consulcatalog" title="#providers-consulcatalog">providers.consulcatalog</a> | Enables Consul Catalog provider. | false |
| <a id="providers-consulcatalog-cache" href="#providers-consulcatalog-cache" title="#providers-consulcatalog-cache">providers.consulcatalog.cache</a> | Use local agent caching for catalog reads. | false |
| <a id="providers-consulcatalog-connectaware" href="#providers-consulcatalog-connectaware" title="#providers-consulcatalog-connectaware">providers.consulcatalog.connectaware</a> | Enable Consul Connect support. | false |
| <a id="providers-consulcatalog-connectbydefault" href="#providers-consulcatalog-connectbydefault" title="#providers-consulcatalog-connectbydefault">providers.consulcatalog.connectbydefault</a> | Consider every service as Connect capable by default. | false |
@ -269,7 +269,7 @@ THIS FILE MUST NOT BE EDITED BY HAND
| <a id="providers-consulcatalog-stale" href="#providers-consulcatalog-stale" title="#providers-consulcatalog-stale">providers.consulcatalog.stale</a> | Use stale consistency for catalog reads. | false |
| <a id="providers-consulcatalog-strictchecks" href="#providers-consulcatalog-strictchecks" title="#providers-consulcatalog-strictchecks">providers.consulcatalog.strictchecks</a> | A list of service health statuses to allow taking traffic. | passing, warning |
| <a id="providers-consulcatalog-watch" href="#providers-consulcatalog-watch" title="#providers-consulcatalog-watch">providers.consulcatalog.watch</a> | Watch Consul API events. | false |
| <a id="providers-docker" href="#providers-docker" title="#providers-docker">providers.docker</a> | Enable Docker backend with default settings. | false |
| <a id="providers-docker" href="#providers-docker" title="#providers-docker">providers.docker</a> | Enables Docker provider. | false |
| <a id="providers-docker-allowemptyservices" href="#providers-docker-allowemptyservices" title="#providers-docker-allowemptyservices">providers.docker.allowemptyservices</a> | Disregards the Docker containers health checks with respect to the creation or removal of the corresponding services. | false |
| <a id="providers-docker-constraints" href="#providers-docker-constraints" title="#providers-docker-constraints">providers.docker.constraints</a> | Constraints is an expression that Traefik matches against the container's labels to determine whether to create any route for that container. | |
| <a id="providers-docker-defaultrule" href="#providers-docker-defaultrule" title="#providers-docker-defaultrule">providers.docker.defaultrule</a> | Default rule. | Host(`{{ normalize .Name }}`) |
@ -285,7 +285,7 @@ THIS FILE MUST NOT BE EDITED BY HAND
| <a id="providers-docker-usebindportip" href="#providers-docker-usebindportip" title="#providers-docker-usebindportip">providers.docker.usebindportip</a> | Use the ip address from the bound port, rather than from the inner network. | false |
| <a id="providers-docker-username" href="#providers-docker-username" title="#providers-docker-username">providers.docker.username</a> | Username for Basic HTTP authentication. | |
| <a id="providers-docker-watch" href="#providers-docker-watch" title="#providers-docker-watch">providers.docker.watch</a> | Watch Docker events. | true |
| <a id="providers-ecs" href="#providers-ecs" title="#providers-ecs">providers.ecs</a> | Enable AWS ECS backend with default settings. | false |
| <a id="providers-ecs" href="#providers-ecs" title="#providers-ecs">providers.ecs</a> | Enables AWS ECS provider. | false |
| <a id="providers-ecs-accesskeyid" href="#providers-ecs-accesskeyid" title="#providers-ecs-accesskeyid">providers.ecs.accesskeyid</a> | AWS credentials access key ID to use for making requests. | |
| <a id="providers-ecs-autodiscoverclusters" href="#providers-ecs-autodiscoverclusters" title="#providers-ecs-autodiscoverclusters">providers.ecs.autodiscoverclusters</a> | Auto discover cluster. | false |
| <a id="providers-ecs-clusters" href="#providers-ecs-clusters" title="#providers-ecs-clusters">providers.ecs.clusters</a> | ECS Cluster names. | default |
@ -297,7 +297,7 @@ THIS FILE MUST NOT BE EDITED BY HAND
| <a id="providers-ecs-refreshseconds" href="#providers-ecs-refreshseconds" title="#providers-ecs-refreshseconds">providers.ecs.refreshseconds</a> | Polling interval (in seconds). | 15 |
| <a id="providers-ecs-region" href="#providers-ecs-region" title="#providers-ecs-region">providers.ecs.region</a> | AWS region to use for requests. | |
| <a id="providers-ecs-secretaccesskey" href="#providers-ecs-secretaccesskey" title="#providers-ecs-secretaccesskey">providers.ecs.secretaccesskey</a> | AWS credentials access key to use for making requests. | |
| <a id="providers-etcd" href="#providers-etcd" title="#providers-etcd">providers.etcd</a> | Enable Etcd backend with default settings. | false |
| <a id="providers-etcd" href="#providers-etcd" title="#providers-etcd">providers.etcd</a> | Enables Etcd provider. | false |
| <a id="providers-etcd-endpoints" href="#providers-etcd-endpoints" title="#providers-etcd-endpoints">providers.etcd.endpoints</a> | KV store endpoints. | 127.0.0.1:2379 |
| <a id="providers-etcd-password" href="#providers-etcd-password" title="#providers-etcd-password">providers.etcd.password</a> | Password for authentication. | |
| <a id="providers-etcd-rootkey" href="#providers-etcd-rootkey" title="#providers-etcd-rootkey">providers.etcd.rootkey</a> | Root key used for KV store. | traefik |
@ -310,7 +310,7 @@ THIS FILE MUST NOT BE EDITED BY HAND
| <a id="providers-file-directory" href="#providers-file-directory" title="#providers-file-directory">providers.file.directory</a> | Load dynamic configuration from one or more .yml or .toml files in a directory. | |
| <a id="providers-file-filename" href="#providers-file-filename" title="#providers-file-filename">providers.file.filename</a> | Load dynamic configuration from a file. | |
| <a id="providers-file-watch" href="#providers-file-watch" title="#providers-file-watch">providers.file.watch</a> | Watch provider. | true |
| <a id="providers-http" href="#providers-http" title="#providers-http">providers.http</a> | Enable HTTP backend with default settings. | false |
| <a id="providers-http" href="#providers-http" title="#providers-http">providers.http</a> | Enables HTTP provider. | false |
| <a id="providers-http-endpoint" href="#providers-http-endpoint" title="#providers-http-endpoint">providers.http.endpoint</a> | Load configuration from this endpoint. | |
| <a id="providers-http-headers-name" href="#providers-http-headers-name" title="#providers-http-headers-name">providers.http.headers._name_</a> | Define custom headers to be sent to the endpoint. | |
| <a id="providers-http-pollinterval" href="#providers-http-pollinterval" title="#providers-http-pollinterval">providers.http.pollinterval</a> | Polling interval for endpoint. | 5 |
@ -319,7 +319,7 @@ THIS FILE MUST NOT BE EDITED BY HAND
| <a id="providers-http-tls-cert" href="#providers-http-tls-cert" title="#providers-http-tls-cert">providers.http.tls.cert</a> | TLS cert | |
| <a id="providers-http-tls-insecureskipverify" href="#providers-http-tls-insecureskipverify" title="#providers-http-tls-insecureskipverify">providers.http.tls.insecureskipverify</a> | TLS insecure skip verify | false |
| <a id="providers-http-tls-key" href="#providers-http-tls-key" title="#providers-http-tls-key">providers.http.tls.key</a> | TLS key | |
| <a id="providers-kubernetescrd" href="#providers-kubernetescrd" title="#providers-kubernetescrd">providers.kubernetescrd</a> | Enable Kubernetes backend with default settings. | false |
| <a id="providers-kubernetescrd" href="#providers-kubernetescrd" title="#providers-kubernetescrd">providers.kubernetescrd</a> | Enables Kubernetes CRD provider. | false |
| <a id="providers-kubernetescrd-allowcrossnamespace" href="#providers-kubernetescrd-allowcrossnamespace" title="#providers-kubernetescrd-allowcrossnamespace">providers.kubernetescrd.allowcrossnamespace</a> | Allow cross namespace resource reference. | false |
| <a id="providers-kubernetescrd-allowemptyservices" href="#providers-kubernetescrd-allowemptyservices" title="#providers-kubernetescrd-allowemptyservices">providers.kubernetescrd.allowemptyservices</a> | Allow the creation of services without endpoints. | false |
| <a id="providers-kubernetescrd-allowexternalnameservices" href="#providers-kubernetescrd-allowexternalnameservices" title="#providers-kubernetescrd-allowexternalnameservices">providers.kubernetescrd.allowexternalnameservices</a> | Allow ExternalName services. | false |
@ -332,7 +332,7 @@ THIS FILE MUST NOT BE EDITED BY HAND
| <a id="providers-kubernetescrd-nativelbbydefault" href="#providers-kubernetescrd-nativelbbydefault" title="#providers-kubernetescrd-nativelbbydefault">providers.kubernetescrd.nativelbbydefault</a> | Defines whether to use Native Kubernetes load-balancing mode by default. | false |
| <a id="providers-kubernetescrd-throttleduration" href="#providers-kubernetescrd-throttleduration" title="#providers-kubernetescrd-throttleduration">providers.kubernetescrd.throttleduration</a> | Ingress refresh throttle duration | 0 |
| <a id="providers-kubernetescrd-token" href="#providers-kubernetescrd-token" title="#providers-kubernetescrd-token">providers.kubernetescrd.token</a> | Kubernetes bearer token (not needed for in-cluster client). It accepts either a token value or a file path to the token. | |
| <a id="providers-kubernetesgateway" href="#providers-kubernetesgateway" title="#providers-kubernetesgateway">providers.kubernetesgateway</a> | Enable Kubernetes gateway api provider with default settings. | false |
| <a id="providers-kubernetesgateway" href="#providers-kubernetesgateway" title="#providers-kubernetesgateway">providers.kubernetesgateway</a> | Enables Kubernetes Gateway API provider. | false |
| <a id="providers-kubernetesgateway-certauthfilepath" href="#providers-kubernetesgateway-certauthfilepath" title="#providers-kubernetesgateway-certauthfilepath">providers.kubernetesgateway.certauthfilepath</a> | Kubernetes certificate authority file path (not needed for in-cluster client). | |
| <a id="providers-kubernetesgateway-endpoint" href="#providers-kubernetesgateway-endpoint" title="#providers-kubernetesgateway-endpoint">providers.kubernetesgateway.endpoint</a> | Kubernetes server endpoint (required for external cluster client). | |
| <a id="providers-kubernetesgateway-experimentalchannel" href="#providers-kubernetesgateway-experimentalchannel" title="#providers-kubernetesgateway-experimentalchannel">providers.kubernetesgateway.experimentalchannel</a> | Toggles Experimental Channel resources support (TCPRoute, TLSRoute...). | false |
@ -346,7 +346,7 @@ THIS FILE MUST NOT BE EDITED BY HAND
| <a id="providers-kubernetesgateway-statusaddress-service-namespace" href="#providers-kubernetesgateway-statusaddress-service-namespace" title="#providers-kubernetesgateway-statusaddress-service-namespace">providers.kubernetesgateway.statusaddress.service.namespace</a> | Namespace of the Kubernetes service. | |
| <a id="providers-kubernetesgateway-throttleduration" href="#providers-kubernetesgateway-throttleduration" title="#providers-kubernetesgateway-throttleduration">providers.kubernetesgateway.throttleduration</a> | Kubernetes refresh throttle duration | 0 |
| <a id="providers-kubernetesgateway-token" href="#providers-kubernetesgateway-token" title="#providers-kubernetesgateway-token">providers.kubernetesgateway.token</a> | Kubernetes bearer token (not needed for in-cluster client). It accepts either a token value or a file path to the token. | |
| <a id="providers-kubernetesingress" href="#providers-kubernetesingress" title="#providers-kubernetesingress">providers.kubernetesingress</a> | Enable Kubernetes backend with default settings. | false |
| <a id="providers-kubernetesingress" href="#providers-kubernetesingress" title="#providers-kubernetesingress">providers.kubernetesingress</a> | Enables Kubernetes Ingress provider. | false |
| <a id="providers-kubernetesingress-allowemptyservices" href="#providers-kubernetesingress-allowemptyservices" title="#providers-kubernetesingress-allowemptyservices">providers.kubernetesingress.allowemptyservices</a> | Allow creation of services without endpoints. | false |
| <a id="providers-kubernetesingress-allowexternalnameservices" href="#providers-kubernetesingress-allowexternalnameservices" title="#providers-kubernetesingress-allowexternalnameservices">providers.kubernetesingress.allowexternalnameservices</a> | Allow ExternalName services. | false |
| <a id="providers-kubernetesingress-certauthfilepath" href="#providers-kubernetesingress-certauthfilepath" title="#providers-kubernetesingress-certauthfilepath">providers.kubernetesingress.certauthfilepath</a> | Kubernetes certificate authority file path (not needed for in-cluster client). | |
@ -363,7 +363,7 @@ THIS FILE MUST NOT BE EDITED BY HAND
| <a id="providers-kubernetesingress-strictprefixmatching" href="#providers-kubernetesingress-strictprefixmatching" title="#providers-kubernetesingress-strictprefixmatching">providers.kubernetesingress.strictprefixmatching</a> | Make prefix matching strictly comply with the Kubernetes Ingress specification (path-element-wise matching instead of character-by-character string matching). | false |
| <a id="providers-kubernetesingress-throttleduration" href="#providers-kubernetesingress-throttleduration" title="#providers-kubernetesingress-throttleduration">providers.kubernetesingress.throttleduration</a> | Ingress refresh throttle duration | 0 |
| <a id="providers-kubernetesingress-token" href="#providers-kubernetesingress-token" title="#providers-kubernetesingress-token">providers.kubernetesingress.token</a> | Kubernetes bearer token (not needed for in-cluster client). It accepts either a token value or a file path to the token. | |
| <a id="providers-kubernetesingressnginx" href="#providers-kubernetesingressnginx" title="#providers-kubernetesingressnginx">providers.kubernetesingressnginx</a> | Enable Kubernetes Ingress NGINX provider. | false |
| <a id="providers-kubernetesingressnginx" href="#providers-kubernetesingressnginx" title="#providers-kubernetesingressnginx">providers.kubernetesingressnginx</a> | Enables Kubernetes Ingress NGINX provider. | false |
| <a id="providers-kubernetesingressnginx-certauthfilepath" href="#providers-kubernetesingressnginx-certauthfilepath" title="#providers-kubernetesingressnginx-certauthfilepath">providers.kubernetesingressnginx.certauthfilepath</a> | Kubernetes certificate authority file path (not needed for in-cluster client). | |
| <a id="providers-kubernetesingressnginx-controllerclass" href="#providers-kubernetesingressnginx-controllerclass" title="#providers-kubernetesingressnginx-controllerclass">providers.kubernetesingressnginx.controllerclass</a> | Ingress Class Controller value this controller satisfies. | k8s.io/ingress-nginx |
| <a id="providers-kubernetesingressnginx-defaultbackendservice" href="#providers-kubernetesingressnginx-defaultbackendservice" title="#providers-kubernetesingressnginx-defaultbackendservice">providers.kubernetesingressnginx.defaultbackendservice</a> | Service used to serve HTTP requests not matching any known server name (catch-all). Takes the form 'namespace/name'. | |
@ -378,7 +378,7 @@ THIS FILE MUST NOT BE EDITED BY HAND
| <a id="providers-kubernetesingressnginx-watchingresswithoutclass" href="#providers-kubernetesingressnginx-watchingresswithoutclass" title="#providers-kubernetesingressnginx-watchingresswithoutclass">providers.kubernetesingressnginx.watchingresswithoutclass</a> | Define if Ingress Controller should also watch for Ingresses without an IngressClass or the annotation specified. | false |
| <a id="providers-kubernetesingressnginx-watchnamespace" href="#providers-kubernetesingressnginx-watchnamespace" title="#providers-kubernetesingressnginx-watchnamespace">providers.kubernetesingressnginx.watchnamespace</a> | Namespace the controller watches for updates to Kubernetes objects. All namespaces are watched if this parameter is left empty. | |
| <a id="providers-kubernetesingressnginx-watchnamespaceselector" href="#providers-kubernetesingressnginx-watchnamespaceselector" title="#providers-kubernetesingressnginx-watchnamespaceselector">providers.kubernetesingressnginx.watchnamespaceselector</a> | Selector selects namespaces the controller watches for updates to Kubernetes objects. | |
| <a id="providers-nomad" href="#providers-nomad" title="#providers-nomad">providers.nomad</a> | Enable Nomad backend with default settings. | false |
| <a id="providers-nomad" href="#providers-nomad" title="#providers-nomad">providers.nomad</a> | Enables Nomad provider. | false |
| <a id="providers-nomad-allowemptyservices" href="#providers-nomad-allowemptyservices" title="#providers-nomad-allowemptyservices">providers.nomad.allowemptyservices</a> | Allow the creation of services without endpoints. | false |
| <a id="providers-nomad-constraints" href="#providers-nomad-constraints" title="#providers-nomad-constraints">providers.nomad.constraints</a> | Constraints is an expression that Traefik matches against the Nomad service's tags to determine whether to create route(s) for that service. | |
| <a id="providers-nomad-defaultrule" href="#providers-nomad-defaultrule" title="#providers-nomad-defaultrule">providers.nomad.defaultrule</a> | Default rule. | Host(`{{ normalize .Name }}`) |
@ -399,7 +399,7 @@ THIS FILE MUST NOT BE EDITED BY HAND
| <a id="providers-nomad-watch" href="#providers-nomad-watch" title="#providers-nomad-watch">providers.nomad.watch</a> | Watch Nomad Service events. | false |
| <a id="providers-plugin-name" href="#providers-plugin-name" title="#providers-plugin-name">providers.plugin._name_</a> | Plugins configuration. | |
| <a id="providers-providersthrottleduration" href="#providers-providersthrottleduration" title="#providers-providersthrottleduration">providers.providersthrottleduration</a> | Backends throttle duration: minimum duration between 2 events from providers before applying a new configuration. It avoids unnecessary reloads if multiples events are sent in a short amount of time. | 2 |
| <a id="providers-redis" href="#providers-redis" title="#providers-redis">providers.redis</a> | Enable Redis backend with default settings. | false |
| <a id="providers-redis" href="#providers-redis" title="#providers-redis">providers.redis</a> | Enables Redis provider. | false |
| <a id="providers-redis-db" href="#providers-redis-db" title="#providers-redis-db">providers.redis.db</a> | Database to be selected after connecting to the server. | 0 |
| <a id="providers-redis-endpoints" href="#providers-redis-endpoints" title="#providers-redis-endpoints">providers.redis.endpoints</a> | KV store endpoints. | 127.0.0.1:6379 |
| <a id="providers-redis-password" href="#providers-redis-password" title="#providers-redis-password">providers.redis.password</a> | Password for authentication. | |
@ -416,9 +416,9 @@ THIS FILE MUST NOT BE EDITED BY HAND
| <a id="providers-redis-tls-insecureskipverify" href="#providers-redis-tls-insecureskipverify" title="#providers-redis-tls-insecureskipverify">providers.redis.tls.insecureskipverify</a> | TLS insecure skip verify | false |
| <a id="providers-redis-tls-key" href="#providers-redis-tls-key" title="#providers-redis-tls-key">providers.redis.tls.key</a> | TLS key | |
| <a id="providers-redis-username" href="#providers-redis-username" title="#providers-redis-username">providers.redis.username</a> | Username for authentication. | |
| <a id="providers-rest" href="#providers-rest" title="#providers-rest">providers.rest</a> | Enable Rest backend with default settings. | false |
| <a id="providers-rest" href="#providers-rest" title="#providers-rest">providers.rest</a> | Enables Rest provider. | false |
| <a id="providers-rest-insecure" href="#providers-rest-insecure" title="#providers-rest-insecure">providers.rest.insecure</a> | Activate REST Provider directly on the entryPoint named traefik. | false |
| <a id="providers-swarm" href="#providers-swarm" title="#providers-swarm">providers.swarm</a> | Enable Docker Swarm backend with default settings. | false |
| <a id="providers-swarm" href="#providers-swarm" title="#providers-swarm">providers.swarm</a> | Enables Docker Swarm provider. | false |
| <a id="providers-swarm-allowemptyservices" href="#providers-swarm-allowemptyservices" title="#providers-swarm-allowemptyservices">providers.swarm.allowemptyservices</a> | Disregards the Docker containers health checks with respect to the creation or removal of the corresponding services. | false |
| <a id="providers-swarm-constraints" href="#providers-swarm-constraints" title="#providers-swarm-constraints">providers.swarm.constraints</a> | Constraints is an expression that Traefik matches against the container's labels to determine whether to create any route for that container. | |
| <a id="providers-swarm-defaultrule" href="#providers-swarm-defaultrule" title="#providers-swarm-defaultrule">providers.swarm.defaultrule</a> | Default rule. | Host(`{{ normalize .Name }}`) |
@ -435,7 +435,7 @@ THIS FILE MUST NOT BE EDITED BY HAND
| <a id="providers-swarm-usebindportip" href="#providers-swarm-usebindportip" title="#providers-swarm-usebindportip">providers.swarm.usebindportip</a> | Use the ip address from the bound port, rather than from the inner network. | false |
| <a id="providers-swarm-username" href="#providers-swarm-username" title="#providers-swarm-username">providers.swarm.username</a> | Username for Basic HTTP authentication. | |
| <a id="providers-swarm-watch" href="#providers-swarm-watch" title="#providers-swarm-watch">providers.swarm.watch</a> | Watch Docker events. | true |
| <a id="providers-zookeeper" href="#providers-zookeeper" title="#providers-zookeeper">providers.zookeeper</a> | Enable ZooKeeper backend with default settings. | false |
| <a id="providers-zookeeper" href="#providers-zookeeper" title="#providers-zookeeper">providers.zookeeper</a> | Enables ZooKeeper provider. | false |
| <a id="providers-zookeeper-endpoints" href="#providers-zookeeper-endpoints" title="#providers-zookeeper-endpoints">providers.zookeeper.endpoints</a> | KV store endpoints. | 127.0.0.1:2181 |
| <a id="providers-zookeeper-password" href="#providers-zookeeper-password" title="#providers-zookeeper-password">providers.zookeeper.password</a> | Password for authentication. | |
| <a id="providers-zookeeper-rootkey" href="#providers-zookeeper-rootkey" title="#providers-zookeeper-rootkey">providers.zookeeper.rootkey</a> | Root key used for KV store. | traefik |

View file

@ -3,13 +3,16 @@ title: "Traefik HTTP Services Documentation"
description: "A service is in charge of connecting incoming requests to the Servers that can handle them. Read the technical documentation."
---
Traefik services define how to distribute incoming traffic across your backend servers.
Each service implements one of the load balancing strategies detailed on this page to ensure optimal traffic distribution and high availability.
## Service Load Balancer
The load balancers are able to load balance the requests between multiple instances of your programs.
Each service has a load-balancer, even if there is only one server to forward traffic to.
## Configuration Example
### Configuration Example
```yaml tab="Structured (YAML)"
http:

View file

@ -65,7 +65,7 @@ spec:
| <a id="maxBodySize" href="#maxBodySize" title="#maxBodySize">`maxBodySize`</a> | Set the `maxBodySize` to limit the body size in bytes. If body is bigger than this, it returns a 401 (unauthorized). If left unset, the request body size is unrestricted which can have performance or security implications. < br/>More information [here](#maxbodysize).| -1 | No |
| <a id="headerField" href="#headerField" title="#headerField">`headerField`</a> | Defines a header field to store the authenticated user. | "" | No |
| <a id="preserveLocationHeader" href="#preserveLocationHeader" title="#preserveLocationHeader">`preserveLocationHeader`</a> | Defines whether to forward the Location header to the client as is or prefix it with the domain name of the authentication server. | false | No |
| <a id="PreserveRequestMethod" href="#PreserveRequestMethod" title="#PreserveRequestMethod">`PreserveRequestMethod`</a> | Defines whether to preserve the original request method while forwarding the request to the authentication server. | false | No |
| <a id="preserveRequestMethod" href="#preserveRequestMethod" title="#preserveRequestMethod">`preserveRequestMethod`</a> | Defines whether to preserve the original request method while forwarding the request to the authentication server. | false | No |
| <a id="tls-ca" href="#tls-ca" title="#tls-ca">`tls.ca`</a> | Sets the path to the certificate authority used for the secured connection to the authentication server, it defaults to the system bundle. | "" | No |
| <a id="tls-cert" href="#tls-cert" title="#tls-cert">`tls.cert`</a> | Sets the path to the public certificate used for the secure connection to the authentication server. When using this option, setting the key option is required. | "" | No |
| <a id="tls-key" href="#tls-key" title="#tls-key">`tls.key`</a> | Sets the path to the private key used for the secure connection to the authentication server. When using this option, setting the `cert` option is required. | "" | No |

View file

@ -5,11 +5,14 @@ description: "You can disable access logs, metrics, and tracing for a specific e
Traefik's observability features include logs, access logs, metrics, and tracing. You can configure these options globally or at more specific levels, such as per router or per entry point.
By default, the router observability configuration is inherited from the attached EntryPoints and can be configured with the observability [options](../../../install-configuration/entrypoints.md#configuration-options)).
By default, the router observability configuration is inherited from the attached EntryPoints and can be configured with the observability [options](../../../install-configuration/entrypoints.md#configuration-options).
However, a router defining its own observability configuration will opt-out from these defaults.
!!! info
To enable router-level observability, you must first enable access-logs, tracing, and metrics.
To enable router-level observability, you must first enable
[access-logs](../../../install-configuration/observability/logs-and-accesslogs.md#accesslogs),
[tracing](../../../install-configuration/observability/tracing.md),
and [metrics](../../../install-configuration/observability/metrics.md).
When metrics layers are not enabled with the `addEntryPointsLabels`, `addRoutersLabels` and/or `addServicesLabels` options,
enabling metrics for a router will not enable them.

View file

@ -3,7 +3,7 @@ title: "Kubernetes IngressRoute"
description: "An IngressRoute is a Traefik CRD is in charge of connecting incoming requests to the Services that can handle them in HTTP."
---
`IngressRoute` is the CRD implementation of a [Traefik HTTP router](../../../http/router/rules-and-priority.md).
`IngressRoute` is the CRD implementation of a [Traefik HTTP router](../../../http/routing/rules-and-priority.md).
Before creating `IngressRoute` objects, you need to apply the [Traefik Kubernetes CRDs](https://doc.traefik.io/traefik/reference/dynamic-configuration/kubernetes-crd/#definitions) to your Kubernetes cluster.
@ -74,28 +74,28 @@ spec:
## Configuration Options
| Field | Description | Default | Required |
|:---------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------|:---------|
| <a id="entryPoints" href="#entryPoints" title="#entryPoints">`entryPoints`</a> | List of [entry points](../../../../install-configuration/entrypoints.md) names.<br />If not specified, HTTP routers will accept requests from all EntryPoints in the list of default EntryPoints. | | No |
| <a id="routes" href="#routes" title="#routes">`routes`</a> | List of routes. | | Yes |
| <a id="routesn-kind" href="#routesn-kind" title="#routesn-kind">`routes[n].kind`</a> | Kind of router matching, only `Rule` is allowed yet. | "Rule" | No |
| <a id="routesn-match" href="#routesn-match" title="#routesn-match">`routes[n].match`</a> | Defines the [rule](../../../http/router/rules-and-priority.md#rules) corresponding to an underlying router. | | Yes |
| <a id="routesn-priority" href="#routesn-priority" title="#routesn-priority">`routes[n].priority`</a> | Defines the [priority](../../../http/router/rules-and-priority.md#priority-calculation) to disambiguate rules of the same length, for route matching.<br />If not set, the priority is directly equal to the length of the rule, and so the longest length has the highest priority.<br />A value of `0` for the priority is ignored, the default rules length sorting is used. | 0 | No |
| <a id="routesn-middlewares" href="#routesn-middlewares" title="#routesn-middlewares">`routes[n].middlewares`</a> | List of middlewares to attach to the IngressRoute. <br />More information [here](#middleware). | "" | No |
| <a id="routesn-middlewaresm-name" href="#routesn-middlewaresm-name" title="#routesn-middlewaresm-name">`routes[n].`<br />`middlewares[m].`<br />`name`</a> | Middleware name.<br />The character `@` is not authorized. <br />More information [here](#middleware). | | Yes |
| <a id="routesn-middlewaresm-namespace" href="#routesn-middlewaresm-namespace" title="#routesn-middlewaresm-namespace">`routes[n].`<br />`middlewares[m].`<br />`namespace`</a> | Middleware namespace.<br />Can be empty if the middleware belongs to the same namespace as the IngressRoute. <br />More information [here](#middleware). | | No |
| <a id="routesn-observability-accesslogs" href="#routesn-observability-accesslogs" title="#routesn-observability-accesslogs">`routes[n].`<br />`observability.`<br />`accesslogs`</a> | Defines whether the route will produce [access-logs](../../../../install-configuration/observability/logs-and-accesslogs.md). See [here](../../../http/router/observability.md) for more information. | false | No |
| <a id="routesn-observability-metrics" href="#routesn-observability-metrics" title="#routesn-observability-metrics">`routes[n].`<br />`observability.`<br />`metrics`</a> | Defines whether the route will produce [metrics](../../../../install-configuration/observability/metrics.md). See [here](../../../http/router/observability.md) for more information. | false | No |
| <a id="routesn-observability-tracing" href="#routesn-observability-tracing" title="#routesn-observability-tracing">`routes[n].`<br />`observability.`<br />`tracing`</a> | Defines whether the route will produce [traces](../../../../install-configuration/observability/tracing.md). See [here](../../../http/router/observability.md) for more information. | false | No |
| <a id="tls" href="#tls" title="#tls">`tls`</a> | TLS configuration.<br />Can be an empty value(`{}`):<br />A self signed is generated in such a case<br />(or the [default certificate](tlsstore.md) is used if it is defined.) | | No |
| <a id="routesn-services" href="#routesn-services" title="#routesn-services">`routes[n].`<br />`services`</a> | List of any combination of [TraefikService](./traefikservice.md) and [Kubernetes service](https://kubernetes.io/docs/concepts/services-networking/service/). <br /> Exhaustive list of option in the [`Service`](./service.md#configuration-options) documentation. | | No |
| <a id="tls-secretName" href="#tls-secretName" title="#tls-secretName">`tls.secretName`</a> | [Secret](https://kubernetes.io/docs/concepts/configuration/secret/) name used to store the certificate (in the same namesapce as the `IngressRoute`) | "" | No |
| <a id="tls-options-name" href="#tls-options-name" title="#tls-options-name">`tls.`<br />`options.name`</a> | Name of the [`TLSOption`](tlsoption.md) to use.<br />More information [here](#tls-options). | "" | No |
| <a id="tls-options-namespace" href="#tls-options-namespace" title="#tls-options-namespace">`tls.`<br />`options.namespace`</a> | Namespace of the [`TLSOption`](tlsoption.md) to use. | "" | No |
| <a id="tls-certResolver" href="#tls-certResolver" title="#tls-certResolver">`tls.certResolver`</a> | Name of the [Certificate Resolver](../../../../install-configuration/tls/certificate-resolvers/overview.md) to use to generate automatic TLS certificates. | "" | No |
| <a id="tls-domains" href="#tls-domains" title="#tls-domains">`tls.domains`</a> | List of domains to serve using the certificates generates (one `tls.domain`= one certificate).<br />More information in the [dedicated section](../../../../install-configuration/tls/certificate-resolvers/acme.md#domain-definition). | | No |
| <a id="tls-domainsn-main" href="#tls-domainsn-main" title="#tls-domainsn-main">`tls.`<br />`domains[n].main`</a> | Main domain name | "" | Yes |
| <a id="tls-domainsn-sans" href="#tls-domainsn-sans" title="#tls-domainsn-sans">`tls.`<br />`domains[n].sans`</a> | List of alternative domains (SANs) | | No |
| Field | Description | Default | Required |
|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:--------|:---------|
| <a id="entryPoints" href="#entryPoints" title="#entryPoints">`entryPoints`</a> | List of [entry points](../../../../install-configuration/entrypoints.md) names.<br />If not specified, HTTP routers will accept requests from all EntryPoints in the list of default EntryPoints. | | No |
| <a id="routes" href="#routes" title="#routes">`routes`</a> | List of routes. | | Yes |
| <a id="routesn-kind" href="#routesn-kind" title="#routesn-kind">`routes[n].kind`</a> | Kind of router matching, only `Rule` is allowed yet. | "Rule" | No |
| <a id="routesn-match" href="#routesn-match" title="#routesn-match">`routes[n].match`</a> | Defines the [rule](../../../http/routing/rules-and-priority.md#rules) corresponding to an underlying router. | | Yes |
| <a id="routesn-priority" href="#routesn-priority" title="#routesn-priority">`routes[n].priority`</a> | Defines the [priority](../../../http/routing/rules-and-priority.md#priority-calculation) to disambiguate rules of the same length, for route matching.<br />If not set, the priority is directly equal to the length of the rule, and so the longest length has the highest priority.<br />A value of `0` for the priority is ignored, the default rules length sorting is used. | 0 | No |
| <a id="routesn-middlewares" href="#routesn-middlewares" title="#routesn-middlewares">`routes[n].middlewares`</a> | List of middlewares to attach to the IngressRoute. <br />More information [here](#middleware). | "" | No |
| <a id="routesn-middlewaresm-name" href="#routesn-middlewaresm-name" title="#routesn-middlewaresm-name">`routes[n].`<br />`middlewares[m].`<br />`name`</a> | Middleware name.<br />The character `@` is not authorized. <br />More information [here](#middleware). | | Yes |
| <a id="routesn-middlewaresm-namespace" href="#routesn-middlewaresm-namespace" title="#routesn-middlewaresm-namespace">`routes[n].`<br />`middlewares[m].`<br />`namespace`</a> | Middleware namespace.<br />Can be empty if the middleware belongs to the same namespace as the IngressRoute. <br />More information [here](#middleware). | | No |
| <a id="routesn-observability-accesslogs" href="#routesn-observability-accesslogs" title="#routesn-observability-accesslogs">`routes[n].`<br />`observability.`<br />`accesslogs`</a> | Defines whether the route will produce [access-logs](../../../../install-configuration/observability/logs-and-accesslogs.md). See [here](../../../http/routing/observability.md) for more information. | false | No |
| <a id="routesn-observability-metrics" href="#routesn-observability-metrics" title="#routesn-observability-metrics">`routes[n].`<br />`observability.`<br />`metrics`</a> | Defines whether the route will produce [metrics](../../../../install-configuration/observability/metrics.md). See [here](../../../http/routing/observability.md) for more information. | false | No |
| <a id="routesn-observability-tracing" href="#routesn-observability-tracing" title="#routesn-observability-tracing">`routes[n].`<br />`observability.`<br />`tracing`</a> | Defines whether the route will produce [traces](../../../../install-configuration/observability/tracing.md). See [here](../../../http/routing/observability.md) for more information. | false | No |
| <a id="tls" href="#tls" title="#tls">`tls`</a> | TLS configuration.<br />Can be an empty value(`{}`):<br />A self signed is generated in such a case<br />(or the [default certificate](tlsstore.md) is used if it is defined.) | | No |
| <a id="routesn-services" href="#routesn-services" title="#routesn-services">`routes[n].`<br />`services`</a> | List of any combination of [TraefikService](./traefikservice.md) and [Kubernetes service](https://kubernetes.io/docs/concepts/services-networking/service/). <br /> Exhaustive list of option in the [`Service`](./service.md#configuration-options) documentation. | | No |
| <a id="tls-secretName" href="#tls-secretName" title="#tls-secretName">`tls.secretName`</a> | [Secret](https://kubernetes.io/docs/concepts/configuration/secret/) name used to store the certificate (in the same namesapce as the `IngressRoute`) | "" | No |
| <a id="tls-options-name" href="#tls-options-name" title="#tls-options-name">`tls.`<br />`options.name`</a> | Name of the [`TLSOption`](tlsoption.md) to use.<br />More information [here](#tls-options). | "" | No |
| <a id="tls-options-namespace" href="#tls-options-namespace" title="#tls-options-namespace">`tls.`<br />`options.namespace`</a> | Namespace of the [`TLSOption`](tlsoption.md) to use. | "" | No |
| <a id="tls-certResolver" href="#tls-certResolver" title="#tls-certResolver">`tls.certResolver`</a> | Name of the [Certificate Resolver](../../../../install-configuration/tls/certificate-resolvers/overview.md) to use to generate automatic TLS certificates. | "" | No |
| <a id="tls-domains" href="#tls-domains" title="#tls-domains">`tls.domains`</a> | List of domains to serve using the certificates generates (one `tls.domain`= one certificate).<br />More information in the [dedicated section](../../../../install-configuration/tls/certificate-resolvers/acme.md#domain-definition). | | No |
| <a id="tls-domainsn-main" href="#tls-domainsn-main" title="#tls-domainsn-main">`tls.`<br />`domains[n].main`</a> | Main domain name | "" | Yes |
| <a id="tls-domainsn-sans" href="#tls-domainsn-sans" title="#tls-domainsn-sans">`tls.`<br />`domains[n].sans`</a> | List of alternative domains (SANs) | | No |
### Middleware

View file

@ -69,7 +69,7 @@ spec:
??? info "`traefik.ingress.kubernetes.io/router.priority`"
See [priority](../http/router/rules-and-priority.md#priority-calculation) for more information.
See [priority](../http/routing/rules-and-priority.md#priority-calculation) for more information.
```yaml
traefik.ingress.kubernetes.io/router.priority: "42"
@ -82,7 +82,7 @@ spec:
RuleSyntax option is deprecated and will be removed in the next major version.
Please do not use this field and rewrite the router rules to use the v3 syntax.
See [rule syntax](../http/router/rules-and-priority.md#rulesyntax) for more information.
See [rule syntax](../http/routing/rules-and-priority.md#rulesyntax) for more information.
```yaml
traefik.ingress.kubernetes.io/router.rulesyntax: "v2"
@ -141,7 +141,7 @@ spec:
??? info "`traefik.ingress.kubernetes.io/router.observability.accesslogs`"
See [here](../http/router/observability.md) for more information.
See [here](../http/routing/observability.md) for more information.
```yaml
traefik.ingress.kubernetes.io/router.observability.accesslogs: true
@ -149,7 +149,7 @@ spec:
??? info "`traefik.ingress.kubernetes.io/router.observability.metrics`"
See [here](../http/router/observability.md) for more information.
See [here](../http/routing/observability.md) for more information.
```yaml
traefik.ingress.kubernetes.io/router.observability.metrics: true
@ -157,7 +157,7 @@ spec:
??? info "`traefik.ingress.kubernetes.io/router.observability.tracing`"
See [here](../http/router/observability.md) for more information.
See [here](../http/routing/observability.md) for more information.
```yaml
traefik.ingress.kubernetes.io/router.observability.tracing: true

View file

@ -25,7 +25,7 @@ With Consul Catalog, Traefik can leverage tags attached to a service to generate
### General
Traefik creates, for each consul Catalog service, a corresponding [service](../http/load-balancing/service.md) and [router](../http/router/rules-and-priority.md).
Traefik creates, for each consul Catalog service, a corresponding [service](../http/load-balancing/service.md) and [router](../http/routing/rules-and-priority.md).
The Service automatically gets a server per instance in this consul Catalog service, and the router gets a default rule attached to it, based on the service name.
@ -37,7 +37,7 @@ For example, to change the rule, you could add the tag ```traefik.http.routers.m
??? info "`traefik.http.routers.<router_name>.rule`"
See [rule](../http/router/rules-and-priority.md) for more information.
See [rule](../http/routing/rules-and-priority.md) for more information.
```yaml
traefik.http.routers.myrouter.rule=Host(`example.com`)
@ -50,7 +50,7 @@ For example, to change the rule, you could add the tag ```traefik.http.routers.m
RuleSyntax option is deprecated and will be removed in the next major version.
Please do not use this field and rewrite the router rules to use the v3 syntax.
See [ruleSyntax](../http/router/rules-and-priority.md#rulesyntax) for more information.
See [ruleSyntax](../http/routing/rules-and-priority.md#rulesyntax) for more information.
```yaml
traefik.http.routers.myrouter.ruleSyntax=v3
@ -58,7 +58,7 @@ For example, to change the rule, you could add the tag ```traefik.http.routers.m
??? info "`traefik.http.routers.<router_name>.priority`"
See [priority](../http/router/rules-and-priority.md#priority-calculation) for more information.
See [priority](../http/routing/rules-and-priority.md#priority-calculation) for more information.
```yaml
- "traefik.tcp.routers.mytcprouter.priority=42"

View file

@ -93,7 +93,7 @@ With Docker, Traefik can leverage labels attached to a container to generate rou
### General
Traefik creates, for each container, a corresponding [service](../http/load-balancing/service.md) and [router](../http/router/rules-and-priority.md).
Traefik creates, for each container, a corresponding [service](../http/load-balancing/service.md) and [router](../http/routing/rules-and-priority.md).
The Service automatically gets a server per instance of the container,
and the router automatically gets a rule defined by `defaultRule` (if no rule for it was defined in labels).
@ -147,7 +147,7 @@ For example, to change the rule, you could add the label ```traefik.http.routers
??? info "`traefik.http.routers.<router_name>.rule`"
See [rule](../http/router/rules-and-priority.md) for more information.
See [rule](../http/routing/rules-and-priority.md) for more information.
```yaml
"traefik.http.routers.myrouter.rule=Host(`example.com`)"
@ -160,7 +160,7 @@ For example, to change the rule, you could add the label ```traefik.http.routers
RuleSyntax option is deprecated and will be removed in the next major version.
Please do not use this field and rewrite the router rules to use the v3 syntax.
See [ruleSyntax](../http/router/rules-and-priority.md#rulesyntax) for more information.
See [ruleSyntax](../http/routing/rules-and-priority.md#rulesyntax) for more information.
```yaml
traefik.http.routers.myrouter.ruleSyntax=v3
@ -252,7 +252,7 @@ For example, to change the rule, you could add the label ```traefik.http.routers
??? info "`traefik.http.routers.<router_name>.priority`"
See [priority](../http/router/rules-and-priority.md#priority-calculation) for more information.
See [priority](../http/routing/rules-and-priority.md#priority-calculation) for more information.
```yaml
"traefik.http.routers.myrouter.priority=42"

View file

@ -25,7 +25,7 @@ With ECS, Traefik can leverage labels attached to a container to generate routin
### General
Traefik creates, for each elastic service, a corresponding [service](../http/load-balancing/service.md) and [router](../http/router/rules-and-priority.md).
Traefik creates, for each elastic service, a corresponding [service](../http/load-balancing/service.md) and [router](../http/routing/rules-and-priority.md).
The Service automatically gets a server per elastic container, and the router gets a default rule attached to it, based on the service name.
@ -39,7 +39,7 @@ For example, to change the rule, you could add the label ```traefik.http.routers
??? info "`traefik.http.routers.<router_name>.rule`"
See [rule](../http/router/rules-and-priority.md#rules) for more information.
See [rule](../http/routing/rules-and-priority.md#rules) for more information.
```yaml
traefik.http.routers.myrouter.rule=Host(`example.com`)
@ -52,7 +52,7 @@ For example, to change the rule, you could add the label ```traefik.http.routers
RuleSyntax option is deprecated and will be removed in the next major version.
Please do not use this field and rewrite the router rules to use the v3 syntax.
See [ruleSyntax](../http/router/rules-and-priority.md#rulesyntax) for more information.
See [ruleSyntax](../http/routing/rules-and-priority.md#rulesyntax) for more information.
```yaml
traefik.http.routers.myrouter.ruleSyntax=v3
@ -146,7 +146,7 @@ For example, to change the rule, you could add the label ```traefik.http.routers
??? info "`traefik.http.routers.<router_name>.priority`"
See [priority](../http/router/rules-and-priority.md#priority-calculation) for more information.
See [priority](../http/routing/rules-and-priority.md#priority-calculation) for more information.
```yaml
traefik.http.routers.myrouter.priority=42

View file

@ -19,8 +19,8 @@ description: "Read the technical documentation to learn the Traefik Routing Conf
| Key (Path) | Description | Value |
|--------------------------------------|--------------------------------------|----------------------------|
| <a id="traefikhttproutersrouter-namerule" href="#traefikhttproutersrouter-namerule" title="#traefikhttproutersrouter-namerule">`traefik/http/routers/<router_name>/rule`</a> | See [rule](../http/router/rules-and-priority.md#rules) for more information. | ```Host(`example.com`)``` |
| <a id="traefikhttproutersrouter-nameruleSyntax" href="#traefikhttproutersrouter-nameruleSyntax" title="#traefikhttproutersrouter-nameruleSyntax">`traefik/http/routers/<router_name>/ruleSyntax`</a> | See [rule](../http/router/rules-and-priority.md#rulesyntax) for more information.<br/>RuleSyntax option is deprecated and will be removed in the next major version.<br/>Please do not use this field and rewrite the router rules to use the v3 syntax. | `v3` |
| <a id="traefikhttproutersrouter-namerule" href="#traefikhttproutersrouter-namerule" title="#traefikhttproutersrouter-namerule">`traefik/http/routers/<router_name>/rule`</a> | See [rule](../http/routing/rules-and-priority.md#rules) for more information. | ```Host(`example.com`)``` |
| <a id="traefikhttproutersrouter-nameruleSyntax" href="#traefikhttproutersrouter-nameruleSyntax" title="#traefikhttproutersrouter-nameruleSyntax">`traefik/http/routers/<router_name>/ruleSyntax`</a> | See [rule](../http/routing/rules-and-priority.md#rulesyntax) for more information.<br/>RuleSyntax option is deprecated and will be removed in the next major version.<br/>Please do not use this field and rewrite the router rules to use the v3 syntax. | `v3` |
| <a id="traefikhttproutersrouter-nameentrypoints0" href="#traefikhttproutersrouter-nameentrypoints0" title="#traefikhttproutersrouter-nameentrypoints0">`traefik/http/routers/<router_name>/entrypoints/0`</a> | See [entry points](../../install-configuration/entrypoints.md) for more information. | `web` |
| <a id="traefikhttproutersrouter-nameentrypoints1" href="#traefikhttproutersrouter-nameentrypoints1" title="#traefikhttproutersrouter-nameentrypoints1">`traefik/http/routers/<router_name>/entrypoints/1`</a> | See [entry points](../../install-configuration/entrypoints.md) for more information. | `websecure` |
| <a id="traefikhttproutersrouter-namemiddlewares0" href="#traefikhttproutersrouter-namemiddlewares0" title="#traefikhttproutersrouter-namemiddlewares0">`traefik/http/routers/<router_name>/middlewares/0`</a> | See [middlewares overview](../http/middlewares/overview.md) for more information. | `auth` |
@ -35,7 +35,7 @@ description: "Read the technical documentation to learn the Traefik Routing Conf
| <a id="traefikhttproutersrouter-nameobservabilityaccesslogs" href="#traefikhttproutersrouter-nameobservabilityaccesslogs" title="#traefikhttproutersrouter-nameobservabilityaccesslogs">`traefik/http/routers/<router_name>/observability/accesslogs`</a> | The accessLogs option controls whether the router will produce access-logs. | `true` |
| <a id="traefikhttproutersrouter-nameobservabilitymetrics" href="#traefikhttproutersrouter-nameobservabilitymetrics" title="#traefikhttproutersrouter-nameobservabilitymetrics">`traefik/http/routers/<router_name>/observability/metrics`</a> | The metrics option controls whether the router will produce metrics. | `true` |
| <a id="traefikhttproutersrouter-nameobservabilitytracing" href="#traefikhttproutersrouter-nameobservabilitytracing" title="#traefikhttproutersrouter-nameobservabilitytracing">`traefik/http/routers/<router_name>/observability/tracing`</a> | The tracing option controls whether the router will produce traces. | `true` |
| <a id="traefikhttproutersrouter-namepriority" href="#traefikhttproutersrouter-namepriority" title="#traefikhttproutersrouter-namepriority">`traefik/http/routers/<router_name>/priority`</a> | See [priority](../http/router/rules-and-priority.md#priority-calculation) for more information. | `42` |
| <a id="traefikhttproutersrouter-namepriority" href="#traefikhttproutersrouter-namepriority" title="#traefikhttproutersrouter-namepriority">`traefik/http/routers/<router_name>/priority`</a> | See [priority](../http/routing/rules-and-priority.md#priority-calculation) for more information. | `42` |
#### Services

View file

@ -25,7 +25,7 @@ With Nomad, Traefik can leverage tags attached to a service to generate routing
### General
Traefik creates, for each Nomad service, a corresponding Traefik [service](../http/load-balancing/service.md) and [router](../http/router/rules-and-priority.md).
Traefik creates, for each Nomad service, a corresponding Traefik [service](../http/load-balancing/service.md) and [router](../http/routing/rules-and-priority.md).
The Traefik service automatically gets a server per instance in this Nomad service, and the router gets a default rule attached to it, based on the Nomad service name.
@ -37,7 +37,7 @@ For example, to change the rule, you could add the tag ```traefik.http.routers.m
??? info "`traefik.http.routers.<router_name>.rule`"
See [rule](../http/router/rules-and-priority.md) for more information.
See [rule](../http/routing/rules-and-priority.md) for more information.
```yaml
traefik.http.routers.myrouter.rule=Host(`example.com`)
@ -50,7 +50,7 @@ For example, to change the rule, you could add the tag ```traefik.http.routers.m
RuleSyntax option is deprecated and will be removed in the next major version.
Please do not use this field and rewrite the router rules to use the v3 syntax.
See [ruleSyntax](../http/router/rules-and-priority.md#rulesyntax) for more information.
See [ruleSyntax](../http/routing/rules-and-priority.md#rulesyntax) for more information.
```yaml
traefik.http.routers.myrouter.ruleSyntax=v3
@ -120,7 +120,7 @@ For example, to change the rule, you could add the tag ```traefik.http.routers.m
??? info "`traefik.http.routers.<router_name>.priority`"
See [priority](../http/router/rules-and-priority.md#priority-calculation) for more information.
See [priority](../http/routing/rules-and-priority.md#priority-calculation) for more information.
```yaml
traefik.http.routers.myrouter.priority=42

View file

@ -116,7 +116,7 @@ With Docker Swarm, Traefik can leverage labels attached to a service to generate
### General
Traefik creates, for each container, a corresponding [service](../http/load-balancing/service.md) and [router](../http/router/rules-and-priority.md).
Traefik creates, for each container, a corresponding [service](../http/load-balancing/service.md) and [router](../http/routing/rules-and-priority.md).
The Service automatically gets a server per instance of the container,
and the router automatically gets a rule defined by `defaultRule` (if no rule for it was defined in labels).
@ -158,7 +158,7 @@ For example, to change the rule, you could add the label ```traefik.http.routers
??? info "`traefik.http.routers.<router_name>.rule`"
See [rule](../http/router/rules-and-priority.md) for more information.
See [rule](../http/routing/rules-and-priority.md) for more information.
```yaml
- "traefik.http.routers.myrouter.rule=Host(`example.com`)"
@ -171,7 +171,7 @@ For example, to change the rule, you could add the label ```traefik.http.routers
RuleSyntax option is deprecated and will be removed in the next major version.
Please do not use this field and rewrite the router rules to use the v3 syntax.
See [ruleSyntax](../http/router/rules-and-priority.md#rulesyntax) for more information.
See [ruleSyntax](../http/routing/rules-and-priority.md#rulesyntax) for more information.
```yaml
traefik.http.routers.myrouter.ruleSyntax=v3
@ -265,7 +265,7 @@ For example, to change the rule, you could add the label ```traefik.http.routers
??? info "`traefik.http.routers.<router_name>.priority`"
See [priority](../http/router/rules-and-priority.md#priority-calculation) for more information.
See [priority](../http/routing/rules-and-priority.md#priority-calculation) for more information.
```yaml
- "traefik.http.routers.myrouter.priority=42"