ProxyTimeout 300 TimeOut 300 # Backend API — proxied to the Flask container on the chosen host port. # flushpackets=on is essential for the SSE chat stream; without it Apache # buffers and tokens stutter. ProxyPass /programme-pulse/api/ http://127.0.0.1:__APP_PORT__/api/ timeout=300 flushpackets=on ProxyPassReverse /programme-pulse/api/ http://127.0.0.1:__APP_PORT__/api/ # SPA — static files served by Apache directly from the build output. Alias /programme-pulse /var/www/html/programme-pulse Options -Indexes +FollowSymLinks AllowOverride None Require all granted RewriteEngine On RewriteBase /programme-pulse/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^ index.html [L]