Files
Dodo e238b41fec Fix Caddy routing: split API paths to backend, avoid /auth/login route collision
POST /auth/login was returning 405 because Next.js's filesystem page
route at /auth/login (the login UI) shadows the afterFiles rewrite to
the backend for every method, including POST. Route API paths (and
non-GET/HEAD /auth/* requests) directly to the backend container at the
Caddy layer instead, leaving GET/HEAD /auth/login to render the
frontend login page.
2026-06-13 11:13:47 +07:00

20 lines
454 B
Caddyfile

{$DOMAIN} {
# Backend API paths with no corresponding frontend pages.
@api {
path /households /households/* /poi /poi/* /land /land/* /gas-station /gas-station/* /health
}
reverse_proxy @api backend:4000
# /auth/* -> backend, except GET/HEAD /auth/login which is the frontend login page.
@authBackend {
path /auth/*
not {
path /auth/login
method GET HEAD
}
}
reverse_proxy @authBackend backend:4000
reverse_proxy frontend:3000
}