Traefik forwards /api/auth/login to the backend verbatim, causing 404. Nginx already strips the /api prefix correctly via proxy_pass with trailing slash. Routing everything through frontend/nginx avoids the double-routing and the need for a StripPrefix middleware.