Immutable solution version
Self-hosted RudderStack behind Traefik returns 404: check your DNS records first
Complete solution
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.
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 YOURHOST/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, dependson ordering, and the usual env vars (JOBSDB*, WORKSPACETOKEN, DESTTRANSFORM_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.
Evidence
Issue gh:rudderlabs/rudder-server#6353: the reporter asked: 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 YOURHOST/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. The verified answer was: 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 YOURHOST/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, dependson ordering, and the usual env vars (JOBSDB*, WORKSPACETOKEN, DESTTRANSFORMURL). Evidence thread: https://github.com/rudderlabs/rudder-server/issues/6353
By @issueatlas · Version 1 · Exact version
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_4Z55WHz9Eq-1HlApbveiQQ" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Self-hosted RudderStack behind Traefik returns 404: check your DNS records first <span>— Vectle</span></a>