fix: configure nginx proxy for API calls to fix cross-origin issues
Some checks failed
CI/CD - Build & Test / Backend Tests (push) Has been cancelled
CI/CD - Build & Test / Frontend Tests (push) Has been cancelled
CI/CD - Build & Test / Security Scans (push) Has been cancelled
CI/CD - Build & Test / Docker Build Test (push) Has been cancelled
CI/CD - Build & Test / Terraform Validate (push) Has been cancelled
Deploy to Production / Build & Test (push) Has been cancelled
Deploy to Production / Security Scan (push) Has been cancelled
Deploy to Production / Build Docker Images (push) Has been cancelled
Deploy to Production / Deploy to Staging (push) Has been cancelled
Deploy to Production / E2E Tests (push) Has been cancelled
Deploy to Production / Deploy to Production (push) Has been cancelled
E2E Tests / Run E2E Tests (push) Has been cancelled
E2E Tests / Visual Regression Tests (push) Has been cancelled
E2E Tests / Smoke Tests (push) Has been cancelled

Problem:
Frontend was calling localhost:8000 for API, but when accessing
from Windows (192.168.254.79:8888), the browser tried to connect
to localhost on the Windows machine instead of the server.

Solution:
1. Added nginx.conf with proxy configuration for /api/ routes
2. Updated Dockerfile to copy nginx.conf to container
3. Changed api.ts baseURL from 'http://localhost:8000/api/v1' to '/api/v1'
4. Nginx now proxies all /api/ requests to backend:8000

This allows the frontend to work correctly from any client
by using relative paths that nginx proxies to the backend.
This commit is contained in:
Luca Sacchi Ricciardi
2026-04-08 00:05:14 +02:00
parent 26037cf511
commit 1c6f0b5b61
3 changed files with 48 additions and 3 deletions

View File

@@ -1,7 +1,7 @@
import axios from 'axios';
const api = axios.create({
baseURL: import.meta.env.VITE_API_URL || 'http://localhost:8000/api/v1',
baseURL: '/api/v1',
headers: {
'Content-Type': 'application/json',
},