Traefik & HTTP

Provide your install configuration via an HTTP(S) endpoint and let Traefik do the rest!

Configuration Example

You can enable the HTTP provider as detailed below:

File (YAML)

  1. providers:
  2. http:
  3. endpoint: "http://127.0.0.1:9000/api"

File (TOML)

  1. [providers.http]
  2. endpoint = "http://127.0.0.1:9000/api"

CLI

  1. --providers.http.endpoint=http://127.0.0.1:9000/api

Configuration Options

FieldDescriptionDefaultRequired
providers.providersThrottleDurationMinimum amount of time to wait for, after a configuration reload, before taking into account any new configuration refresh event.
If multiple events occur within this time, only the most recent one is taken into account, and all others are discarded.
This option cannot be set per provider, but the throttling algorithm applies to each of them independently.
2sNo
providers.http.endpointDefines the HTTP(S) endpoint to poll.“”Yes
providers.http.pollIntervalDefines the polling interval.5sNo
providers.http.pollTimeoutDefines the polling timeout when connecting to the endpoint.5sNo
providers.http.headersDefines custom headers to be sent to the endpoint.“”No
providers.http.tls.caDefines the path to the certificate authority used for the secure connection to the endpoint, it defaults to the system bundle.“”No
providers.http.tls.certDefines the path to the public certificate used for the secure connection to the endpoint. When using this option, setting the key option is required.“”Yes
providers.http.tls.keyDefines the path to the private key used for the secure connection to the endpoint. When using this option, setting the cert option is required.“”Yes
providers.http.tls.insecureSkipVerifyInstructs the provider to accept any certificate presented by endpoint when establishing a TLS connection, regardless of the hostnames the certificate covers.falseNo

headers

Defines custom headers to be sent to the endpoint.

File (YAML)

  1. providers:
  2. http:
  3. headers:
  4. name: value

File (TOML)

  1. [providers.http.headers]
  2. name = "value"

CLI

  1. [providers.http.headers]
  2. --providers.http.headers.name=value

Routing Configuration

The HTTP provider uses the same configuration as the File Provider in YAML or JSON format.