diff --git a/nginx/conf.d/default.conf.template b/nginx/conf.d/default.conf.template index 0f7db57..febcb9c 100644 --- a/nginx/conf.d/default.conf.template +++ b/nginx/conf.d/default.conf.template @@ -79,8 +79,8 @@ server { # Rewrites /media/* to /api/* (matches Vite dev proxy behavior) # Uses variable proxy_pass for runtime DNS resolution after container restarts location /media/ { - rewrite ^/media/(.*) /api/$1 break; set $upstream_media_default http://changemaker-media-api:4100; + rewrite ^/media/(.*) /api/$1 break; proxy_pass $upstream_media_default; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; @@ -126,5 +126,9 @@ server { 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; + + # WebSocket support (docs collaboration) + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; } } diff --git a/nginx/conf.d/services.conf.template b/nginx/conf.d/services.conf.template index 0d00d17..3ec7c19 100644 --- a/nginx/conf.d/services.conf.template +++ b/nginx/conf.d/services.conf.template @@ -444,8 +444,8 @@ server { # Rewrites /media/* to /api/* (matches Vite dev proxy behavior) # Uses variable proxy_pass for runtime DNS resolution after container restarts location /media/ { - rewrite ^/media/(.*) /api/$1 break; set $upstream_media_app http://changemaker-media-api:4100; + rewrite ^/media/(.*) /api/$1 break; proxy_pass $upstream_media_app; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; @@ -502,6 +502,10 @@ server { 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; + + # WebSocket support (docs collaboration) + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; } }