From 7db852aaffa43dc4dda31a4ba315cb691e45e6ad Mon Sep 17 00:00:00 2001 From: kcar Date: Sun, 7 Jun 2026 20:43:20 +0100 Subject: [PATCH] [verified] route app-dev API through same-origin proxy --- Dockerfile | 6 ++++++ docker-compose.dev.yml | 9 +++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8e67439..50ef1bd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -61,6 +61,12 @@ RUN echo 'server { \ proxy_set_header X-Real-IP $remote_addr; \ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; \ } \ + location /__ccapi/ { \ + proxy_pass http://192.168.0.64:18000/; \ + proxy_set_header Host $host; \ + proxy_set_header X-Real-IP $remote_addr; \ + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; \ + } \ location /api/ { \ proxy_pass http://192.168.0.64:18000/api/; \ proxy_set_header Host $host; \ diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index de665e4..11dee9f 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -16,8 +16,13 @@ services: context: . dockerfile: Dockerfile args: - VITE_API_BASE: ${VITE_API_BASE:-} - VITE_API_URL: ${VITE_API_URL:-} + # app-dev is served by nginx on the app host; browser API calls must stay + # same-origin and pass through Dockerfile's /__ccapi proxy. The proxy + # strips that prefix before forwarding, preserving mixed backend routes + # such as /api/exam, /me/bootstrap, and /database/timetable. + # .env.dev still points at the LAN API for local Vite/dev tooling. + VITE_API_BASE: /__ccapi + VITE_API_URL: /__ccapi VITE_APP_NAME: ${VITE_APP_NAME:-Classroom Copilot} VITE_APP_HMR_URL: ${VITE_APP_HMR_URL:-} VITE_DEV: ${VITE_DEV:-false}