# SSL dashboard 404

**URL:** <https://community.traefik.io/t/ssl-dashboard-404/6869>\
**Category:** Traefik v2\
**Tags:** dashboard-api, docker\
**Created:** [July 12, 2020, 3:22pm UTC](https://community.traefik.io/t/ssl-dashboard-404/6869 "2020-07-12T15:22:02Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![sanya\_rnd](https://sea2.discourse-cdn.com/flex020/user_avatar/community.traefik.io/sanya_rnd/32/2298_2.png) [@sanya\_rnd](https://community.traefik.io/u/sanya_rnd)\
**Post date:** [July 12, 2020, 3:22pm UTC](https://community.traefik.io/t/ssl-dashboard-404/6869/1 "2020-07-12T15:22:02Z")

</div>

I think there are numerous topic on this, but I can't find solution in any.

usercase: docker-compose + traefik proxy + self-signed certificate + global http to http redirect

`docker-compose.yml`:

```auto
version: "3"

services:
  traefik:
    image: traefik:chevrotin
    container_name: "traefik"
    restart: unless-stopped
    command:
      - --providers.file.directory=/config
      - --providers.file.watch=true
      # Logging
      - --log=true
      - --log.filePath=/logs/traefik.log
      - --log.level=INFO
      - --log.format=json
      - --accesslog=true
      - --accesslog.filepath=/logs/access.log
      - --accesslog.format=json
      - --accessLog.bufferingSize=100
      - --accessLog.filters.statusCodes=400-499
      # docker settings
      - --providers.docker=true
      - --providers.docker.endpoint=unix:///var/run/docker.sock
      - --providers.docker.network=web
      - --providers.docker.exposedbydefault=false
      # dashboard
      - --api=true
      - --api.dashboard=true
      # entrypoint configuration
      - --entrypoints.http.address=:80
      - --entrypoints.http.http.redirections.entrypoint.to=https
      - --entrypoints.http.http.redirections.entrypoint.scheme=https
      - --entrypoints.https.address=:443
    labels:
      - traefik.enable=true
      # dashboard
      - "traefik.http.routers.api.rule=PathPrefix(`/api`)"
      - "traefik.http.routers.api.entrypoints=https"
      - "traefik.http.routers.api.service=api@internal"
      - "traefik.http.routers.api.middlewares=api-auth"
      - "traefik.http.routers.api.tls"
      - "traefik.http.middlewares.api-auth.basicauth.users=test:$$apr1$$H6uskkkW$$IgXLP6ewTrSuBkTrqE8wj/"
    security_opt:
      - no-new-privileges:true
    ports:
      - 80:80
      - 443:443
    networks:
      - web
    volumes:
      - ./config:/config:ro
      - ./certs:/certs:ro
      - ./logs:/logs:rw
      - /var/run/docker.sock:/var/run/docker.sock:ro

  whoami:
    image: containous/whoami
    container_name: whoami
    labels:
      - traefik.enable=true
      - traefik.http.routers.whoami-https.entrypoints=https
      - traefik.http.routers.whoami-https.tls=true
      - traefik.http.routers.whoami-https.rule=PathPrefix(`/whoami`)
      - traefik.http.middlewares.whoami-https.stripprefix.prefixes=/whoami
    networks:
      - web

networks:
  web:
    external: true

```

`config/tls.yml`:

```auto
tls:
  certificates:
    - certFile: "/certs/cert.crt"
      keyFile: "/certs/private.key"
      stores:
        - default
  stores:
    default:
      defaultCertificate:
        certFile: "/certs/cert.crt"
        keyFile: "/certs/private.key"

```

`curl` output:

```auto
❯ curl http://192.168.88.88
Moved Permanently%
~ ······································································ 18:16:38
❯ curl --insecure https://192.168.88.88
404 page not found
~ ······································································ 18:16:43
❯ curl --insecure https://192.168.88.88/whoami
Hostname: ecb0ed07179a
IP: 127.0.0.1
IP: 172.22.0.2
RemoteAddr: 172.22.0.3:46368
GET /whoami HTTP/1.1
Host: 192.168.88.88
User-Agent: curl/7.68.0
Accept: */*
Accept-Encoding: gzip
X-Forwarded-For: 192.168.88.15
X-Forwarded-Host: 192.168.88.88
X-Forwarded-Port: 443
X-Forwarded-Proto: https
X-Forwarded-Server: f9b4d7b15e9f
X-Real-Ip: 192.168.88.15

~ ······································································ 18:16:46
❯ curl --insecure https://192.168.88.88/api
401 Unauthorized
~ ······································································ 18:17:02
❯ curl --insecure --user test:test https://192.168.88.88/api
404 page not found

```

I don't understand what's wrong, because everywhere I go (documentation, tutorials) I see the same config.

---

<div class="post-metadata">

**Author:** ![cakiwi](https://sea2.discourse-cdn.com/flex020/user_avatar/community.traefik.io/cakiwi/32/3205_2.png) [@cakiwi](https://community.traefik.io/u/cakiwi)\
**Post date:** [July 12, 2020, 8:03pm UTC](https://community.traefik.io/t/ssl-dashboard-404/6869/2 "2020-07-12T20:03:16Z")

</div>

Looks fine to me.

What are you expecting that is different ?

---

<div class="post-metadata">

**Author:** ![sanya\_rnd](https://sea2.discourse-cdn.com/flex020/user_avatar/community.traefik.io/sanya_rnd/32/2298_2.png) [@sanya\_rnd](https://community.traefik.io/u/sanya_rnd)\
**Post date:** [July 12, 2020, 8:21pm UTC](https://community.traefik.io/t/ssl-dashboard-404/6869/3 "2020-07-12T20:21:33Z")

</div>

@cakiwi I get 404 error, but I expect dashboard

---

<div class="post-metadata">

**Author:** ![sanya\_rnd](https://sea2.discourse-cdn.com/flex020/user_avatar/community.traefik.io/sanya_rnd/32/2298_2.png) [@sanya\_rnd](https://community.traefik.io/u/sanya_rnd)\
**Post date:** [July 12, 2020, 8:28pm UTC](https://community.traefik.io/t/ssl-dashboard-404/6869/4 "2020-07-12T20:28:17Z")

</div>

Ok, I feel very dumb but:

- I thought I should expect dashboard on /api endpoint, because /dashboard didn't work.
- I didn't see this highlighted block just untill now:  
 ![изображение](https://us1.discourse-cdn.com/flex020/uploads/containo/original/2X/d/d548d49bd202ca2d6f9350be9cc90ce341df008f.png)

I've updated the rule with

```auto
- "traefik.http.routers.api.rule=PathPrefix(`/api`) || PathPrefix(`/dashboard`)"

```

and everything works as expected.

Case closed, config is working, sorry 😅
