V2.2.1: Router uses a non-existing resolver

Pulling my hairs for a day now and not getting around it.
What I'm trying to do is to use 3 certresolvers;

  • http
  • transip
  • cloudflare

I configured them in my traefik.yml;

api:
  dashboard: true
  insecure: true
global:
  checkNewVersion: true
serversTransport:
  insecureSkipVerify: true
entryPoints:
  http:
    address: ":80"
  https:
    address: ":443"
log:
  level: DEBUG
accessLog:
  filePath: "/traefik/data/access.log"
  bufferingSize: 100
providers:
  docker:
    endpoint: "unix:///var/run/docker.sock"
    exposedByDefault: false
  file:
    directory: /traefik/data
    watch: true

certificatesResolvers:
  http:
    acme:
      caServer: "https://acme-v02.api.letsencrypt.org/directory"
      email: "mo@fn.nl"
      storage: "/traefik/data/acme.json"
      httpChallenge:
        entryPoint: http 
  transip:
    acme:
      caServer: "https://acme-v02.api.letsencrypt.org/directory"
      email: "mo@f.nl"
      storage: "/traefik/data/acmetransip.json"
      DNSChallenge:
        delayBeforeCheck: 0
        provider: transip

  cloudflare:
    acme:
      caServer: "https://acme-v02.api.letsencrypt.org/directory"
      email: "mo@fn.nl"
      storage: "/traefik/data/acmecloudflare.json"
      DNSChallenge:
        delayBeforeCheck: 0
        provider: cloudflare

Then I use Docker and dynamic_config.yaml to connect it al together;
Here's a snippet of my dynamic_config routers;

http:
  routers:
    router-fn-nl:
      entryPoints:
        - https
      middlewares: 
      service: service-fn-nl
      rule: Host(`www.fn.nl`)
      tls:
        certResolver: transip

    router-ln-nl:
      entryPoints:
        - https
      middlewares: 
      service: service-ln-nl
      rule: Host(`www.ln.nl`)
      tls:
        certResolver: transip

and one docker compose container config with labels;

homeassistant:
    container_name: homeassistant
    image: homeassistant/home-assistant:0.110.3
    environment:
      - PUID=1001
      - PGID=1001
    ports:
      - 8123:8123
    networks:
      - web
    volumes:
      - ${DOCKERDIR}/homeassistant:/config
      - /etc/localtime:/etc/localtime:ro
      - ${DOCKERDIR}/shared/:/shared/
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.homeassistant.entrypoints=http"
      - "traefik.http.routers.homeassistant.rule=Host(`hass-${DOCKER_SUB_ADD}.${DOMAINNAME}`)"
      - "traefik.http.middlewares.homeassistant-https-redirect.redirectscheme.scheme=https"
      - "traefik.http.routers.homeassistant.middlewares=homeassistant-https-redirect"
      - "traefik.http.routers.homeassistant-secure.entrypoints=https"
      - "traefik.http.routers.homeasistant-secure.rule=Host(`hass-${DOCKER_SUB_ADD}.${DOMAINNAME}`)"
      - "traefik.http.routers.homeassistant-secure.tls=true"
      - "traefik.http.routers.homeassistant-secure.tls.certresolver=cloudflare"
      - "traefik.http.routers.homeassistant-secure.tls.domains[0].main= {{ DOMAINNAME }}"
      - "traefik.http.routers.homeassistant-secure.tls.domains[0].sans= *.{{ DOMAINNAME }}"
      - "traefik.http.routers.homeassistant-secure.service=homeassistant"
      - "traefik.http.services.homeassistant.loadbalancer.server.port=8123"
      - "traefik.docker.network=web"

Above configs result in all and the same errors;

time="2020-05-29T10:02:50+02:00" level=error msg="the router router-ln-nl@file uses a non-existent resolver: transip"
time="2020-05-29T10:02:50+02:00" level=error msg="the router homeassistant-secure@docker uses a non-existent resolver: cloudflare"
time="2020-05-29T10:02:50+02:00" level=error msg="the router router-fn-nl@file uses a non-existent resolver: transip"
time="2020-05-29T10:02:50+02:00" level=error msg="the router traefik-docker-secure@docker uses a non-existent resolver: cloudflare"

Here's my Traefik Docker config;

traefik:
    image: traefik:v2.2.1
    container_name: traefik
    restart: always
    security_opt:
      - no-new-privileges:true
    networks:
      - web
    environment:
      - TRANSIP_ACCOUNT_NAME=m
      - TRANSIP_PRIVATE_KEY_PATH=/traefik/data/.secrets/private.key
      - CF_DNS_API_TOKEN=jfriiiA2LL6kpUccckg
      - CF_ZONE_API_TOKEN=5xx073xx9b55
      - CF_API_KEY=1151a4xx80yyd4
    ports:
      - 80:80
      - 443:443
      - 8080:8080
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - /opt/docker/traefik/:/etc/traefik
      - /opt/docker/traefik/:/traefik
#      - /opt/docker/traefik/data/:/traefik/data
#      - /opt/docker/traefik/data/traefik.yml:/traefik.yml:ro
#      - /opt/docker/traefik/data/acme.json:/traefik/acme.json
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.traefik-docker.entrypoints=http"
      - "traefik.http.routers.traefik-docker.rule=Host(`traefik-${DOCKER_SUB_ADD}.${DOMAINNAME}`)"
      - "traefik.http.middlewares.traefik-docker-https-redirect.redirectscheme.scheme=https"
      - "traefik.http.routers.traefik-docker.middlewares=traefik-docker-https-redirect"
      - "traefik.http.routers.traefik-docker-secure.entrypoints=https"
      - "traefik.http.routers.traefik-docker-secure.rule=Host(`traefik-${DOCKER_SUB_ADD}.${DOMAINNAME}`)"
      - "traefik.http.routers.traefik-docker-secure.tls=true"
      - "traefik.http.routers.traefik-docker-secure.tls.certresolver=cloudflare"
      - "traefik.http.middlewares.traefik-auth.basicauth.users=xx:XX"
      - "traefik.http.routers.traefik-docker.middlewares=traefik-auth"
      - "traefik.http.routers.traefik-docker-secure.service=traefik-docker"
      - "traefik.http.services.traefik-docker.loadbalancer.server.port=8080"
      - "traefik.docker.network=web"

I'm using the most recent 2.2.1 version

Trying so much things that i'm totally lost...

Hopefully somebody can help me :slight_smile:

Hi @Freemann

I hope you have this resolved already.

Is this as simple as the case of DNSChallenge vs dnsChallenge ?