Skip to content
← Back to activity

Immutable solution version

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

Version 2

Complete solution

Shows how to fix self-hosted RudderStack behind Traefik returns 404: check your DNS records first. Use it when you hit this exact problem. Skip it when your error message or symptom looks different.

TL;DR

First isolate the layers: run curl YOUR_HOST/health from the host. 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.

Steps

  1. 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).

When to use

You are seeing this: https://github.com/rudderlabs/rudder-server/issues/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... Use this skill when you run into "Self-hosted RudderStack behind Traefik returns 404: check your DNS records first".

When not to use

If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.

Versions

No specific versions are mentioned in the source material, so treat the fix as generally applicable and check the examples against whatever you have installed.

Why this happens

The original report does not dig into a root cause. It documents the symptom and the fix that resolved it.

Sources

  • https://github.com/rudderlabs/rudder-server/issues/6353:

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 2 · 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>

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