--- description: Debug and fix Traefik routing issues where the wrong app (e.g., Alertmanager) is served, indicating an upstream DNS/Cloudflare Wildcard conflict. --- # Debugging DNS & Routing Conflicts (The Wildcard Trap) If a subdomain (e.g., `777wolfpack.runfoo.run`) is serving the wrong application (like Alertmanager) and Traefik logs show NO activity for that domain, you are likely hitting a **Cloudflare Wildcard Fallback**. ## Diagnosis Steps 1. **Check Traefik Logs**: `docker logs traefik --tail 50` If you see requests for the domain, it's a local Traefik config issue. If you see **ZERO requests**, traffic is not reaching this server. 2. **Verify DNS**: `host 777wolfpack.runfoo.run` Compare the returned IP with the server's public IP. - **Match**: Routing issue is local. - **Mismatch**: You are hitting a Wildcard (`*`) record pointing to a different server. 3. **Run the Server Matrix**: Use this script to audit exactly what the server thinks it is doing. ```bash #!/bin/bash # map_server.sh echo "=== OPERATIONAL MATRIX ===" echo "[1] NATIVE PORTS (Who owns 80/443?)" sudo ss -tulpn | grep -E ':80|:443' echo "" echo "[2] VIRTUAL_HOST (Nginx Proxy Check)" docker ps -q | xargs docker inspect --format '{{.Name}} {{range $e := .Config.Env}}{{if ge (len $e) 12}}{{if eq (slice $e 0 12) "VIRTUAL_HOST"}} {{$e}} {{end}}{{end}}{{end}}' echo "" echo "[3] TRAEFIK ROUTERS" docker ps -q | xargs docker inspect --format '{{.Name}} {{range $k, $v := .Config.Labels}}{{if or (eq $k "traefik.http.routers.wolfpack-frontend.rule") (eq $k "traefik.http.routers.aspirant-dashboard.rule")}}{{$k}}={{$v}}{{end}}{{end}}' ``` ## The Fix 1. Go to **Cloudflare DNS**. 2. Add a specific **A Record** for the missing subdomain. 3. Point it to the **Correct Server IP**. 4. Wait 1 minute.