Skip to content

Instantly share code, notes, and snippets.

@MafiaInc
Forked from micw/README.md
Created May 29, 2022 01:32
Show Gist options
  • Save MafiaInc/b009afbecbea149ba4dfcc0bf4c153ba to your computer and use it in GitHub Desktop.
Save MafiaInc/b009afbecbea149ba4dfcc0bf4c153ba to your computer and use it in GitHub Desktop.
# This is an example how to pass acme challenges to a backend of a particular domain while
# all other acme challenges are solved by traefik
# Tested with traefik 1.7.7
# How it works:
# - an entry point listens at 81 which is used for traefik's acme. This port is not exposed
# - a default rule for /.well-known/acme-challenge/ is added for the http entry point. It has a priority of 1000
# and forwards acme requests to localhost:81 where traefik accepts acme challenges
# - for a particular domain, a rule with higher priority is added, so this domain's acme challenges are not sent to
# traefik
# Note: to make traefik issue certs automatically (via onHostRule), it is necessary that the rule is bound to the "acme"
# entrypoint (see https://github.com/containous/traefik/issues/3918)
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.acme]
address = ":81"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
[acme]
email = "[email protected]"
storage = "acme.json"
entryPoint = "https"
[acme.httpChallenge]
entryPoint = "acme"
[file]
[backends]
[backends.acme]
[backends.acme.servers]
[backends.acme.servers.server0]
url = "http://127.0.0.1:81/"
[backends.backend1]
[backends.backend1.servers]
[backends.backend1.servers.server0]
url = "https://ifconfig.io/"
[frontends]
[frontends.acme]
entryPoints = ["http"]
backend = "acme"
passHostHeader = true
priority = 1000
[frontends.acme.routes]
[frontends.acme.routes.route0]
rule = "PathPrefix:/.well-known/acme-challenge/"
[frontends.frontend1]
entryPoints = ["http"]
backend = "backend1"
passHostHeader = false
priority = 1001
[frontends.frontend1.routes]
[frontends.frontend1.routes.route0]
rule = "Host:127.0.0.1.xip.io"
priority = 1001
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment