# Example split deployment proxy for reflex-django. # # Django serves admin/API/SPA shell on :8000. # Reflex backend serves WebSocket events and uploads on :8001. upstream django_app { server django:8000; } upstream reflex_backend { server reflex:8001; } server { listen 80; server_name _; client_max_body_size 25m; location /_event { proxy_pass http://reflex_backend; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_read_timeout 3600s; proxy_send_timeout 3600s; } location /_upload { proxy_pass http://reflex_backend; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_read_timeout 300s; } location / { proxy_pass http://django_app; proxy_set_header Host $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } # Reference nginx config for docs/examples/docker-compose.scaling.yml # Routes /_event and /_upload to Reflex; everything else to Django. upstream django { server django:8000; } upstream reflex { server reflex:8001; } server { listen 443 ssl; server_name localhost; # Use your own certs in production. ssl_certificate /etc/nginx/ssl/cert.pem; ssl_certificate_key /etc/nginx/ssl/key.pem; location /_event { proxy_pass http://reflex; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 86400; } location /_upload { proxy_pass http://reflex; proxy_read_timeout 300; } location / { proxy_pass http://django; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }