# 404 Page Not Found when access url and dashboard

**URL:** <https://community.traefik.io/t/404-page-not-found-when-access-url-and-dashboard/29448>\
**Category:** Traefik v3 (latest)\
**Tags:** dashboard-api, docker\
**Created:** [December 13, 2025, 2:07pm UTC](https://community.traefik.io/t/404-page-not-found-when-access-url-and-dashboard/29448 "2025-12-13T14:07:30Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![irhamumam17](https://sea2.discourse-cdn.com/flex020/user_avatar/community.traefik.io/irhamumam17/32/10965_2.png) [@irhamumam17](https://community.traefik.io/u/irhamumam17)\
**Post date:** [December 13, 2025, 2:07pm UTC](https://community.traefik.io/t/404-page-not-found-when-access-url-and-dashboard/29448/1 "2025-12-13T14:07:31Z")

</div>

i have compose like below, when i open in browser for ‘auth.usp.ac.id‘, it show 404 page not found.

```auto
services:
traefik:
image: traefik:v3.6.4
container_name: traefik
restart: unless-stopped
security_opt:
- no-new-privileges:true
networks:
- proxy
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./certs:/certs:ro
- ./dynamic:/dynamic:ro
- ./letsencrypt:/letsencrypt
command:
# EntryPoints
- "--entrypoints.web.address=:80"
- "--entrypoints.web.http.redirections.entrypoint.to=websecure"
- "--entrypoints.web.http.redirections.entrypoint.scheme=https"
- "--entrypoints.websecure.address=:443"
- "--entrypoints.websecure.http.tls=true"

  # --- CONFIG BARU: Mengizinkan Encoded Slash (Mencegah Error 400) ---
  - "--entrypoints.websecure.http.encodedCharacters.allowEncodedSlash=true"

  # Providers
  - "--providers.file.filename=/dynamic/tls.yaml"
  - "--providers.docker=true"
  - "--providers.docker.exposedbydefault=false"
  - "--providers.docker.network=proxy"

  # API & Dashboard
  - "--api.dashboard=true"
  - "--api.insecure=false" 

  # Resolver
  - "--certificatesresolvers.le.acme.email=irham.umam@usp.ac.id"
  - "--certificatesresolvers.le.acme.storage=/letsencrypt/acme.json"
  - "--certificatesresolvers.le.acme.httpchallenge.entrypoint=web"

labels:
  - "traefik.enable=true"
  
  # Router Dashboard
  - "traefik.http.routers.dashboard.rule=Host(`auth.usp.ac.id`)"
  - "traefik.http.routers.dashboard.entrypoints=websecure"
  - "traefik.http.routers.dashboard.service=api@internal"
  - "traefik.http.routers.dashboard.tls.certresolver=le"
  
  # Middleware: Auth + Redirect Otomatis (Fix 404)
  - "traefik.http.middlewares.dashboard-auth.basicauth.users=pass"
  - "traefik.http.routers.dashboard.middlewares=dashboard-auth@docker"

whoami:
image: traefik/whoami
container_name: whoami
restart: unless-stopped
networks:
- proxy
labels:
- "traefik.enable=true"
- "traefik.http.routers.whoami.rule=Host(whoami.auth.usp.ac.id)"
- "traefik.http.routers.whoami.entrypoints=websecure"
- "traefik.http.routers.whoami.tls.certresolver=le"
# FIX 404 Whoami: Tentukan port internal
- "traefik.http.services.whoami.loadbalancer.server.port=80"

networks:
proxy:
name: proxy
external: false

```

help me, thanks all

---

<div class="post-metadata">

**Author:** ![bluepuma77](https://avatars.discourse-cdn.com/v4/letter/b/a9adbd/32.png) [@bluepuma77](https://community.traefik.io/u/bluepuma77)\
**Post date:** [December 14, 2025, 6:59am UTC](https://community.traefik.io/t/404-page-not-found-when-access-url-and-dashboard/29448/2 "2025-12-14T06:59:07Z")

</div>

Format your config with 3 backticks to preserve spacing, which is important in yaml.

Enable Traefik debug log ([doc](https://doc.traefik.io/traefik/v3.4/observability/logs/#level)) and Traefik access log in JSON format ([doc](https://doc.traefik.io/traefik/v3.4/observability/access-logs/#format)).

Note that you would usually access the Traefik dashboard with full path `/dashboard/` ([doc](https://doc.traefik.io/traefik/v3.4/operations/dashboard/)).

Maybe check [simple Traefik example](https://github.com/bluepuma77/traefik-best-practice/tree/main/docker-traefik-dashboard-letsencrypt).

Note that this creates a false sense of security, as a Docker socket can not be made read-only:

> [@irhamumam17](#):
>
> ```auto
> volumes:
> - /var/run/docker.sock:/var/run/docker.sock:ro
> 
> ```
