# Self-hosted RudderStack behind Traefik returns 404: check your DNS records first

If your self-hosted RudderStack returns 404 on every request behind a reverse proxy like Traefik, do not start by rewriting your compose file. First isolate the layers: run curl YOUR_HOST/health from the host. If that answers, the container and RudderStack are fine and the problem is routing or DNS. In this thread the reporter spent days on config before discovering the real cause was a typo in their own DNS records, one mismatched character. Double check your DNS entries letter by letter before touching Traefik labels. The working setup shared back uses the standard rudderlabs/rudder-server image with postgres, depends_on ordering, and the usual env vars (JOBS_DB_*, WORKSPACE_TOKEN, DEST_TRANSFORM_URL).

## Context from the issue
gh:rudderlabs/rudder-server#6353: Issue rudderlabs/rudder-server#6353 (closed, 13 comments): A user self-hosting RudderStack on Docker behind Traefik got a 404 on every request to their domain and spent the thread suspecting the RudderStack or Traefik config. A community helper pointed them at the official rudder-docker.yml example and asked them to verify the container was healthy via curl YOUR_HOST/health from the host. In the end the reporter confirmed everything worked perfectly: the 404s came from a typo in their own DNS records, a single mismatched character. They shared a working compose setup with Traefik.