Traefik v2 (chevrotin) returns "ERR_EMPTY_RESPONSE" when attempting to view dashboard

Do you want to request a feature or report a bug?

Bug

What did you do?

Setup a basic docker-compose file with traefik:chevrotin as the only service.

What did you expect to see?

The traefik dashboard, both exposed over the internet and through the local access (by setting the traefik dashboard to use a port and accessing it over the local network)

What did you see instead?

Over the internet (port forwarded and through cloudflare), the traefik dashboard does not appear, and I get this error: "This page isn’t workingtraefik.dodgecraft.net didn’t send any data.
ERR_EMPTY_RESPONSE"
Over a local port, I get a "404 page not found" error (although I can tell it is coming from traefik) and no dashboard.

Output of traefik version: (What version of Traefik are you using?)

Version:      2.2.11
Codename:     chevrotin
Go version:   go1.14.8
Built:        2020-09-07T14:12:48Z
OS/Arch:      linux/amd64

What is your environment & configuration (arguments, toml, provider, platform, ...)?

Docker compose here:

version: "3.7"

########################### NETWORKS
networks:
  t2_proxy:
    external:
      name: t2_proxy
  default:
    driver: bridge

########################### SERVICES
services:
# All services / apps go below this line
# Traefik 2 - Reverse Proxy
  traefik:
    container_name: traefik
    image: traefik:chevrotin
    restart: unless-stopped
    command: # CLI arguments
      - --global.checkNewVersion=true
      - --global.sendAnonymousUsage=true
      - --entryPoints.http.address=:80
      - --entryPoints.https.address=:443
        # Allow these IPs to set the X-Forwarded-* headers - Cloudflare IPs: https://www.cloudflare.com/ips/
      - --entrypoints.https.forwardedHeaders.trustedIPs=173.245.48.0/20,103.21.244.0/22,103.22.200.0/22,103.31.4.0/22,141.101.64.0/18,108.162.192.0/18,190.93.240.0/20,188.114.96.0/20,197.234.240.0/22,198.41.128.0/17,162.158.0.0/15,104.16.0.0/12,172.64.0.0/13,131.0.72.0/22
      - --entryPoints.traefik.address=:8080
      - --api=true
#      - --api.insecure=true
#      - --serversTransport.insecureSkipVerify=true
      - --log=true
      - --log.level=DEBUG # (Default: error) DEBUG, INFO, WARN, ERROR, FATAL, PANIC
      - --accessLog=true
      - --accessLog.filePath=/traefik.log
      - --accessLog.bufferingSize=100 # Configuring a buffer of 100 lines
      - --accessLog.filters.statusCodes=400-499
      - --providers.docker=true
      - --providers.docker.endpoint=unix:///var/run/docker.sock
      - --providers.docker.defaultrule=Host(`{{ index .Labels "com.docker.compose.service" }}.$DOMAINNAME`)
      - --providers.docker.exposedByDefault=false
      - --providers.docker.network=t2_proxy
      - --providers.docker.swarmMode=false
      - --providers.file.directory=/rules # Load dynamic configuration from one or more .toml or .yml files in a directory.
#      - --providers.file.filename=/path/to/file # Load dynamic configuration from a file.
      - --providers.file.watch=true # Only works on top level files in the rules folder
      - --certificatesResolvers.dns-cloudflare.acme.caServer=https://acme-staging-v02.api.letsencrypt.org/directory # LetsEncrypt Staging Server - uncomment when testing
      - --certificatesResolvers.dns-cloudflare.acme.email=$CLOUDFLARE_EMAIL
      - --certificatesResolvers.dns-cloudflare.acme.storage=/acme.json
      - --certificatesResolvers.dns-cloudflare.acme.dnsChallenge.provider=cloudflare
      - --certificatesResolvers.dns-cloudflare.acme.dnsChallenge.resolvers=1.1.1.1:53,1.0.0.1:53
#    networks:
#      t2_proxy:
#        ipv4_address: 192.168.90.254 # You can specify a static IP
    networks:
      - t2_proxy
    security_opt:
      - no-new-privileges:true
    ports:
      - target: 80
        published: 80
        protocol: tcp
      - target: 443
        published: 443
        protocol: tcp
        mode: host
      - target: 8080
        published: 8080
        protocol: tcp
        mode: host
#    ports:
#      - "80:80"
#      - "443:443"
#      - "8080:8080"
    volumes:
      - $DOCKERDIR/traefik2/rules:/rules
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - $DOCKERDIR/traefik2/acme/acme.json:/acme.json
      - $DOCKERDIR/traefik2/traefik.log:/traefik.log
      - $DOCKERDIR/shared:/shared
    environment:
      - CF_API_EMAIL=$CLOUDFLARE_EMAIL
      - CF_API_KEY=$CLOUDFLARE_API_KEY
    labels:
      - "traefik.enable=true"
      # HTTP-to-HTTPS Redirect
      - "traefik.http.routers.http-catchall.entrypoints=http"
      - "traefik.http.routers.http-catchall.rule=HostRegexp(`{host:.+}`)"
      - "traefik.http.routers.http-catchall.middlewares=redirect-to-https"
      - "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
      # HTTP Routers
      - "traefik.http.routers.traefik-rtr.entrypoints=https"
      - "traefik.http.routers.traefik-rtr.rule=Host(`traefik.$DOMAINNAME`)"
      - "traefik.http.routers.traefik-rtr.tls=true"
      - "traefik.http.routers.traefik-rtr.tls.certresolver=dns-cloudflare" # Comment out this line after first run of traefik to force the use of wildcard certs
      - "traefik.http.routers.traefik-rtr.tls.domains[0].main=$DOMAINNAME"
      - "traefik.http.routers.traefik-rtr.tls.domains[0].sans=*.$DOMAINNAME"
#      - "traefik.http.routers.traefik-rtr.tls.domains[1].main=$SECONDDOMAINNAME" # Pulls main cert for second domain
#      - "traefik.http.routers.traefik-rtr.tls.domains[1].sans=*.$SECONDDOMAINNAME" # Pulls wildcard cert for second domain
      ## Services - API
      - "traefik.http.routers.traefik-rtr.service=api@internal"
      ## Middlewares
      - "traefik.http.routers.traefik-rtr.middlewares=middlewares-basic-auth@file"

I am using Ubuntu Server 20.04. Port forwarding is set correctly, and I have been able to host other test webservers on this host, which work. What is strange is that the traefik dashboard doesn't even seem to work, even when being accessed locally. I have added my user to the docker group, and my env variables are set correctly. I can tell that traefik is pulling the certificates correctly, because in the logs it is able to perform the dnschallenge successfully. Could this be a network issue with my setup? I don't think it should be, also, when I list the docker containers, traefik is bound to the 0.0.0.0 address on the ports 80, 443, and 8080.

If applicable, please paste the log output in DEBUG level (--log.level=DEBUG switch)

2021-01-01T21:52:57.847704636Z time="2021-01-01T21:52:57Z" level=debug msg="legolog: [INFO] [*.domainname.net] AuthURL: https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/182752297"
2021-01-01T21:52:57.847779927Z time="2021-01-01T21:52:57Z" level=debug msg="legolog: [INFO] [domainname.net] AuthURL: https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/182752298"
2021-01-01T21:52:57.847800039Z time="2021-01-01T21:52:57Z" level=debug msg="legolog: [INFO] [*.domainname.net] acme: use dns-01 solver"
2021-01-01T21:52:57.847817549Z time="2021-01-01T21:52:57Z" level=debug msg="legolog: [INFO] [domainname.net] acme: Could not find solver for: tls-alpn-01"
2021-01-01T21:52:57.848079203Z time="2021-01-01T21:52:57Z" level=debug msg="legolog: [INFO] [domainname.net] acme: Could not find solver for: http-01"
2021-01-01T21:52:57.848474988Z time="2021-01-01T21:52:57Z" level=debug msg="legolog: [INFO] [domainname.net] acme: use dns-01 solver"
2021-01-01T21:52:57.848949399Z time="2021-01-01T21:52:57Z" level=debug msg="legolog: [INFO] [*.domainname.net] acme: Preparing to solve DNS-01"
2021-01-01T21:52:58.472190473Z time="2021-01-01T21:52:58Z" level=debug msg="legolog: [INFO] cloudflare: new record for domainname.net, ID redactedrandomstringfromcloudflare"
2021-01-01T21:52:58.472276902Z time="2021-01-01T21:52:58Z" level=debug msg="legolog: [INFO] [domainname.net] acme: Preparing to solve DNS-01"
2021-01-01T21:52:58.631455328Z time="2021-01-01T21:52:58Z" level=debug msg="legolog: [INFO] cloudflare: new record for domainname.net, ID redactedrandomstringfromcloudflare"
2021-01-01T21:52:58.631870184Z time="2021-01-01T21:52:58Z" level=debug msg="legolog: [INFO] [*.domainname.net] acme: Trying to solve DNS-01"
2021-01-01T21:52:58.631899016Z time="2021-01-01T21:52:58Z" level=debug msg="legolog: [INFO] [*.domainname.net] acme: Checking DNS record propagation using [1.1.1.1:53 1.0.0.1:53]"
2021-01-01T21:53:00.632504405Z time="2021-01-01T21:53:00Z" level=debug msg="legolog: [INFO] Wait for propagation [timeout: 2m0s, interval: 2s]"
2021-01-01T21:53:05.952170289Z time="2021-01-01T21:53:05Z" level=debug msg="legolog: [INFO] [*.domainname.net] The server validated our request"
2021-01-01T21:53:05.952367536Z time="2021-01-01T21:53:05Z" level=debug msg="legolog: [INFO] [domainname.net] acme: Trying to solve DNS-01"
2021-01-01T21:53:05.952767873Z time="2021-01-01T21:53:05Z" level=debug msg="legolog: [INFO] [domainname.net] acme: Checking DNS record propagation using [1.1.1.1:53 1.0.0.1:53]"
2021-01-01T21:53:07.953090947Z time="2021-01-01T21:53:07Z" level=debug msg="legolog: [INFO] Wait for propagation [timeout: 2m0s, interval: 2s]"
2021-01-01T21:53:15.606569106Z time="2021-01-01T21:53:15Z" level=debug msg="legolog: [INFO] [domainname.net] The server validated our request"
2021-01-01T21:53:15.606671872Z time="2021-01-01T21:53:15Z" level=debug msg="legolog: [INFO] [*.domainname.net] acme: Cleaning DNS-01 challenge"
2021-01-01T21:53:15.766147737Z time="2021-01-01T21:53:15Z" level=debug msg="legolog: [INFO] [domainname.net] acme: Cleaning DNS-01 challenge"
2021-01-01T21:53:16.169109534Z time="2021-01-01T21:53:16Z" level=debug msg="legolog: [INFO] [domainname.net, *.domainname.net] acme: Validations succeeded; requesting certificates"
2021-01-01T21:53:21.278630863Z time="2021-01-01T21:53:21Z" level=debug msg="legolog: [INFO] [domainname.net] Server responded with a certificate."
2021-01-01T21:53:21.278847430Z time="2021-01-01T21:53:21Z" level=debug msg="Certificates obtained for domains [domainname.net *.domainname.net]" providerName=dns-cloudflare.acme
2021-01-01T21:53:21.281243594Z time="2021-01-01T21:53:21Z" level=debug msg="Configuration received from provider dns-cloudflare.acme: {\"http\":{},\"tls\":{}}" providerName=dns-cloudflare.acme
2021-01-01T21:53:21.288503281Z time="2021-01-01T21:53:21Z" level=debug msg="Adding certificate for domain(s) domainname.net,*.domainname.net"
2021-01-01T21:53:21.288569438Z time="2021-01-01T21:53:21Z" level=debug msg="No default certificate, generating one"
2021-01-01T21:53:21.728231834Z time="2021-01-01T21:53:21Z" level=debug msg="Creating middleware" routerName=http-catchall@docker serviceName=traefik-docker middlewareName=pipelining middlewareType=Pipelining entryPointName=http
2021-01-01T21:53:21.728504742Z time="2021-01-01T21:53:21Z" level=debug msg="Creating load-balancer" entryPointName=http routerName=http-catchall@docker serviceName=traefik-docker
2021-01-01T21:53:21.728537603Z time="2021-01-01T21:53:21Z" level=debug msg="Creating server 0 http://172.18.0.2:80" routerName=http-catchall@docker serverName=0 serviceName=traefik-docker entryPointName=http
2021-01-01T21:53:21.728558837Z time="2021-01-01T21:53:21Z" level=debug msg="Added outgoing tracing middleware traefik-docker" middlewareName=tracing middlewareType=TracingForwarder entryPointName=http routerName=http-catchall@docker
2021-01-01T21:53:21.728580609Z time="2021-01-01T21:53:21Z" level=debug msg="Creating middleware" entryPointName=http routerName=http-catchall@docker middlewareName=redirect-to-https@docker middlewareType=RedirectScheme
2021-01-01T21:53:21.728600590Z time="2021-01-01T21:53:21Z" level=debug msg="Setting up redirection to https " middlewareName=redirect-to-https@docker middlewareType=RedirectScheme entryPointName=http routerName=http-catchall@docker
2021-01-01T21:53:21.728620188Z time="2021-01-01T21:53:21Z" level=debug msg="Adding tracing to middleware" entryPointName=http routerName=http-catchall@docker middlewareName=redirect-to-https@docker
2021-01-01T21:53:21.728684858Z time="2021-01-01T21:53:21Z" level=debug msg="Creating middleware" middlewareName=traefik-internal-recovery middlewareType=Recovery entryPointName=http
2021-01-01T21:53:21.728705438Z time="2021-01-01T21:53:21Z" level=debug msg="Added outgoing tracing middleware api@internal" entryPointName=https routerName=traefik-rtr@docker middlewareName=tracing middlewareType=TracingForwarder
2021-01-01T21:53:21.728724770Z time="2021-01-01T21:53:21Z" level=debug msg="Creating middleware" middlewareName=middlewares-basic-auth@file middlewareType=BasicAuth entryPointName=https routerName=traefik-rtr@docker
2021-01-01T21:53:21.728743735Z time="2021-01-01T21:53:21Z" level=debug msg="Adding tracing to middleware" routerName=traefik-rtr@docker middlewareName=middlewares-basic-auth@file entryPointName=https
2021-01-01T21:53:21.728765815Z time="2021-01-01T21:53:21Z" level=debug msg="Creating middleware" middlewareType=Recovery entryPointName=https middlewareName=traefik-internal-recovery
2021-01-01T21:53:21.728828419Z time="2021-01-01T21:53:21Z" level=debug msg="Looking for provided certificate(s) to validate [\"domainname.net\" \"*.domainname.net\"]..." providerName=dns-cloudflare.acme
2021-01-01T21:53:21.728853825Z time="2021-01-01T21:53:21Z" level=debug msg="No ACME certificate generation required for domains [\"domainname.net\" \"*.domainname.net\"]." providerName=dns-cloudflare.acme
2021-01-01T22:02:53.434912939Z time="2021-01-01T22:02:53Z" level=info msg="Anonymous stats sent to https://collect.traefik.io/9vxmmkcdmalbdi635d4jgc5p5rx0h7h8: {\"global\":{\"checkNewVersion\":true,\"sendAnonymousUsage\":true},\"serversTransport\":{\"maxIdleConnsPerHost\":200},\"entryPoints\":{\"http\":{\"address\":\"xxxx\",\"http\":{}},\"https\":{\"address\":\"xxxx\",\"http\":{}},\"traefik\":{\"address\":\"xxxx\",\"http\":{}}},\"providers\":{\"providersThrottleDuration\":2000000000,\"docker\":{\"watch\":true,\"endpoint\":\"xxxx\",\"defaultRule\":\"xxxx\",\"network\":\"t2_proxy\",\"swarmModeRefreshSeconds\":15000000000},\"file\":{\"directory\":\"/rules\",\"watch\":true}},\"api\":{\"dashboard\":true},\"log\":{\"level\":\"DEBUG\",\"format\":\"xxxx\"},\"accessLog\":{\"filePath\":\"/traefik.log\",\"format\":\"common\",\"filters\":{\"statusCodes\":[\"400-499\"]},\"fields\":{\"defaultMode\":\"keep\",\"headers\":{\"defaultMode\":\"drop\"}},\"bufferingSize\":100},\"certificatesResolvers\":{\"dns-cloudflare\":{\"acme\":{\"email\":\"xxxx\",\"caServer\":\"xxxx\",\"storage\":\"xxxx\",\"keyType\":\"xxxx\"}}}}"
2021-01-01T22:02:53.435097474Z time="2021-01-01T22:02:53Z" level=debug msg="unknown kind to hash: func"
2021-01-01T22:02:53.980584403Z time="2021-01-01T22:02:53Z" level=warning msg="A new release has been found: 2.3.6. Please consider updating."
2021-01-01T22:09:53.119559867Z time="2021-01-01T22:09:53Z" level=debug msg="Provider event received {Status:start ID:e0dcd7189abe30070242b22cc5097670195d0671e2881d8378dba2f1f8cac948 From:traefik:chevrotin Type:container Action:start Actor:{ID:e0dcd7189abe30070242b22cc5097670195d0671e2881d8378dba2f1f8cac948 Attributes:map[image:traefik:chevrotin name:strange_turing org.opencontainers.image.description:A modern reverse-proxy org.opencontainers.image.documentation:https://docs.traefik.io org.opencontainers.image.title:Traefik org.opencontainers.image.url:https://traefik.io org.opencontainers.image.vendor:Containous org.opencontainers.image.version:v2.2.11]} Scope:local Time:1609538993 TimeNano:1609538993118807476}" providerName=docker
2021-01-01T22:09:53.125090144Z time="2021-01-01T22:09:53Z" level=debug msg="Filtering disabled container" providerName=docker container=strange-turing-e0dcd7189abe30070242b22cc5097670195d0671e2881d8378dba2f1f8cac948
2021-01-01T22:09:53.125389886Z time="2021-01-01T22:09:53Z" level=debug msg="Configuration received from provider docker: {\"http\":{\"routers\":{\"http-catchall\":{\"entryPoints\":[\"http\"],\"middlewares\":[\"redirect-to-https\"],\"service\":\"traefik-docker\",\"rule\":\"HostRegexp(`{host:.+}`)\"},\"traefik-rtr\":{\"entryPoints\":[\"https\"],\"middlewares\":[\"middlewares-basic-auth@file\"],\"service\":\"api@internal\",\"rule\":\"Host(`traefik.domainname.net`)\",\"tls\":{\"certResolver\":\"dns-cloudflare\",\"domains\":[{\"main\":\"domainname.net\",\"sans\":[\"*.domainname.net\"]}]}}},\"services\":{\"traefik-docker\":{\"loadBalancer\":{\"servers\":[{\"url\":\"http://172.18.0.2:80\"}],\"passHostHeader\":true}}},\"middlewares\":{\"redirect-to-https\":{\"redirectScheme\":{\"scheme\":\"https\"}}}},\"tcp\":{},\"udp\":{}}" providerName=docker
2021-01-01T22:09:53.125536724Z time="2021-01-01T22:09:53Z" level=info msg="Skipping same configuration" providerName=docker
2021-01-01T22:09:53.177339242Z time="2021-01-01T22:09:53Z" level=debug msg="Provider event received {Status:die ID:e0dcd7189abe30070242b22cc5097670195d0671e2881d8378dba2f1f8cac948 From:traefik:chevrotin Type:container Action:die Actor:{ID:e0dcd7189abe30070242b22cc5097670195d0671e2881d8378dba2f1f8cac948 Attributes:map[exitCode:0 image:traefik:chevrotin name:strange_turing org.opencontainers.image.description:A modern reverse-proxy org.opencontainers.image.documentation:https://docs.traefik.io org.opencontainers.image.title:Traefik org.opencontainers.image.url:https://traefik.io org.opencontainers.image.vendor:Containous org.opencontainers.image.version:v2.2.11]} Scope:local Time:1609538993 TimeNano:1609538993174740343}" providerName=docker
2021-01-01T22:09:54.315099754Z time="2021-01-01T22:09:54Z" level=debug msg="Configuration received from provider docker: {\"http\":{\"routers\":{\"http-catchall\":{\"entryPoints\":[\"http\"],\"middlewares\":[\"redirect-to-https\"],\"service\":\"traefik-docker\",\"rule\":\"HostRegexp(`{host:.+}`)\"},\"traefik-rtr\":{\"entryPoints\":[\"https\"],\"middlewares\":[\"middlewares-basic-auth@file\"],\"service\":\"api@internal\",\"rule\":\"Host(`traefik.domainname.net`)\",\"tls\":{\"certResolver\":\"dns-cloudflare\",\"domains\":[{\"main\":\"domainname.net\",\"sans\":[\"*.domainname.net\"]}]}}},\"services\":{\"traefik-docker\":{\"loadBalancer\":{\"servers\":[{\"url\":\"http://172.18.0.2:80\"}],\"passHostHeader\":true}}},\"middlewares\":{\"redirect-to-https\":{\"redirectScheme\":{\"scheme\":\"https\"}}}},\"tcp\":{},\"udp\":{}}" providerName=docker
2021-01-01T22:09:54.315228055Z time="2021-01-01T22:09:54Z" level=info msg="Skipping same configuration" providerName=docker

I do have a middlewares.toml file, listed here:

[http.middlewares]
  [http.middlewares.middlewares-basic-auth]
    [http.middlewares.middlewares-basic-auth.basicAuth]
#      username=user, password=mystrongpassword (listed below after hashing)
#      users = [
#        "user:$apr1$bvj3f2o0$/01DGlduxK4AqRsTwHnvc1",
#      ]
      realm = "Traefik2 Basic Auth"
      usersFile = "/shared/.htpasswd" #be sure to mount the volume through docker-compose.yml

Thanks!
EDIT: (And yes, I did clear my cookies. I have tried this on several web browsers and all of them had the same result.)