server { listen 80; location / { root /usr/share/nginx/html; index index.html; } # Proxy for WebSocket and HTTP requests location ~ ^/api/public { proxy_pass http://tempest-poc:5000; proxy_http_version 1.1; # WebSocket-specific headers proxy_set_header Upgrade $http_upgrade; # Conditionally set the Connection header set $connection_upgrade ''; if ($http_upgrade) { set $connection_upgrade 'Upgrade'; } proxy_set_header Connection $connection_upgrade; proxy_buffering off; proxy_cache off; # Optional: Increase timeouts to handle WebSocket connections proxy_read_timeout 3600; proxy_send_timeout 3600; proxy_connect_timeout 3600; # Additional headers to pass 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; } }