From 7fa6d250e5877769186cdbc8bb3f00fcd1e0d966 Mon Sep 17 00:00:00 2001 From: jhoogie Date: Fri, 17 Apr 2026 15:45:24 +0200 Subject: [PATCH] bugfix inlog problem --- BEHEER.md | 14 ++++++++++++++ Changelog.md | 3 +++ README.md | 4 ++-- frontend/nginx-spa.conf | 10 ++++++++++ frontend/package.json | 2 +- package.json | 4 ++-- 6 files changed, 32 insertions(+), 5 deletions(-) diff --git a/BEHEER.md b/BEHEER.md index 02193d3..164a5fd 100644 --- a/BEHEER.md +++ b/BEHEER.md @@ -71,6 +71,20 @@ docker exec -i vibefinance_postgres psql -U vibefinance -d vibefinance < backup- --- +## Architectuur — nginx proxy + +De frontend-container (nginx) serveert de React-app en proxyt `/api/`-verzoeken intern door naar de backend-container op poort 3001. Dit is geconfigureerd in `frontend/nginx-spa.conf`: + +```nginx +location /api/ { + proxy_pass http://backend:3001; +} +``` + +> Ontbreekt dit blok, dan krijgen gebruikers "Kan geen verbinding maken met de server" bij het inloggen — ook al draaien alle containers. + +--- + ## Logs en diagnose ```bash diff --git a/Changelog.md b/Changelog.md index c1d2673..d4c9b56 100644 --- a/Changelog.md +++ b/Changelog.md @@ -10,6 +10,9 @@ - PostgreSQL productie geüpgraded van versie 16 naar 18 (volume mount aangepast naar `/var/lib/postgresql`) - Witte rand rondom de app verwijderd (globale CSS reset toegevoegd, `App.css` gekoppeld aan `App.jsx`) +### Opgelost +- Login gaf "Kan geen verbinding maken met de server": `nginx-spa.conf` miste een `/api/` proxy-blok naar de backend-container — alle API-calls kwamen niet aan + --- ## [0.0.4] - 2026-04-08 diff --git a/README.md b/README.md index eaae2ea..b611832 100644 --- a/README.md +++ b/README.md @@ -83,7 +83,7 @@ vibefinance/ │ ├── frontend/ # React / Vite SPA │ ├── Dockerfile # Multi-stage: dev → build → nginx -│ ├── nginx-spa.conf # SPA fallback binnen de container +│ ├── nginx-spa.conf # SPA fallback + /api proxy naar backend │ ├── vite.config.js │ └── src/ │ ├── App.jsx # Root – wiring + idle-logout @@ -170,7 +170,7 @@ Beveiligde endpoints vereisen `Authorization: Bearer `. Rate limiting: 20 - Wachtwoorden gehasht met bcrypt (cost factor 12) - JWT authenticatie met instelbare vervaltijd -- Backend uitsluitend bereikbaar via nginx proxy +- Backend uitsluitend bereikbaar via nginx proxy (`/api/` in `nginx-spa.conf`) - Database bereikbaar alleen binnen het interne Docker netwerk - Containers draaien als non-root - Helmet security headers diff --git a/frontend/nginx-spa.conf b/frontend/nginx-spa.conf index 3dcb6d7..3fc4265 100644 --- a/frontend/nginx-spa.conf +++ b/frontend/nginx-spa.conf @@ -14,6 +14,16 @@ server { try_files $uri =404; } + # Proxy API-calls naar de backend + location /api/ { + proxy_pass http://backend:3001; + proxy_http_version 1.1; + 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_set_header X-Forwarded-Proto $scheme; + } + # SPA fallback – stuur alle routes naar index.html location / { try_files $uri $uri/ /index.html; diff --git a/frontend/package.json b/frontend/package.json index f3d0421..cd66ebb 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,6 @@ { "name": "vibefinance-frontend", - "version": "0.1.3-dev", + "version": "0.1.3", "updateCheckUrl": "https://vibehoogie.duckdns.org/api/v1/repos/vibe/VibeFinance/releases/latest", "private": true, "type": "module", diff --git a/package.json b/package.json index 97916b6..5102ce5 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "vibefinance", - "version": "0.1.3", + "version": "0.1.4", "description": "VibeFinance — persoonlijk vermogensbeheer", "private": true, "repository": "https://vibehoogie.duckdns.org/vibe/VibeFinance", "updateCheckUrl": "https://vibehoogie.duckdns.org/api/v1/repos/vibe/VibeFinance/releases/latest" -} +} \ No newline at end of file -- 2.47.3