Traefik v2 Dashboard 404 - Without insecure=true, dashboard is not working

Issue: Dashboard is not working (Getting 404 error). It's working with insecure but I want it with secure.
Traefik version/image: traefik:2.4.8

We are using our own self signed certificates.

Here is my Ingress Configuration:

kind: IngressRoute
  name: traefik-dashboard
  namespace: public
    - traefik
  - match: Host(``) && (PathPrefix(`/api`) || PathPrefix(`/dashboard`))
    kind: Rule
    - name: api@internal
      kind: TraefikService
      - name: auth
    secretName: traefik-wildcard-cert
kind: Middleware
  name: auth
  namespace: public
    secret: dashboard-secret
    namespace: public

As per the document, it looks like we need not create any separate service to access dashboard but if we mention TraefikService, then it should work.

Additional information (toml file)

  traefik.toml: |
        address = ":80"
        address = ":443"
            certResolver = "default"
        address = ":9000"

      providersThrottleDuration = "2s"
        throttleDuration = "0s"
        filename = "/ssl-toml/ssl.toml"

      dashboard = true

       certFile = "/ssl/tls.crt"
       keyFile = "/ssl/tls.key"

        minVersion = "VersionTLS12"
        cipherSuites = [

Not sure, what I am doing wrong. Can someone please suggest.

Hi @Manmohan,

Thanks for your interest in Traefik !

In the doc, it is explained that:

  • Start by enabling the dashboard by using the following option from Traefik's API on the static configuration: --api.dashboard=true
  • Then define a routing configuration on Traefik itself, with a router attached to the service api@internal in the dynamic configuration: traefik.http.routers.traefik.service=api@internal

Thanks for your response but didn't I do the same thing?

I followed:

You'll find here a working example of exposing the dashboard using the internal service : traefik-demo/kubernetes/ingressroute/dashboard at v2.4 · tomMoulard/traefik-demo · GitHub

Thank you Tom for checking on that.

Instead of Kubernetes CRDs, I updated in the toml file and it started working.

  rule = "Host(``) && (PathPrefix(`/api`) || PathPrefix(`/dashboard`))"
  service = "api@internal"
  middlewares = ["auth"]
  users = [