From b8984f0c2c3f23f347e5fdb90eb248d2750fe8bb Mon Sep 17 00:00:00 2001 From: Audiolib Date: Tue, 26 May 2026 14:53:11 +0200 Subject: [PATCH] Fix nginx: route GET /login to frontend, POST /login to backend The previous regex routed all methods for /login to the backend. A browser navigating to /login sends GET, which returned 405 because the backend only has POST /login. Now GET goes to the React SPA. Co-Authored-By: Claude Sonnet 4.6 --- nginx/nginx.conf | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/nginx/nginx.conf b/nginx/nginx.conf index 6d8671d..27365f6 100644 --- a/nginx/nginx.conf +++ b/nginx/nginx.conf @@ -23,18 +23,38 @@ http { server { listen 80; - # API, HLS-Streams, Auth - location ~ ^/(api|hls|login|logout|ping)(/.*)?$ { + # API + HLS + ping: immer Backend + location ~ ^/(api|hls|ping)(/.*)?$ { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_read_timeout 300s; - # HLS streaming: disable buffering proxy_buffering off; } - # Cover images / static media served by backend + # POST /login → Backend (ABS-API), GET /login → Frontend (React SPA) + location = /login { + if ($request_method = POST) { + proxy_pass http://backend; + } + proxy_pass http://frontend; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_read_timeout 300s; + } + + # POST /logout → Backend + location = /logout { + if ($request_method = POST) { + proxy_pass http://backend; + } + proxy_pass http://frontend; + proxy_set_header Host $host; + } + + # Cover images location /covers/ { proxy_pass http://backend; proxy_set_header Host $host; @@ -42,7 +62,7 @@ http { add_header Cache-Control "public"; } - # Frontend (React SPA) + # Frontend (React SPA) — alle anderen Routen location / { proxy_pass http://frontend; proxy_set_header Host $host;