Spaces:
Running
Running
| events { | |
| worker_connections 1024; | |
| } | |
| http { | |
| client_max_body_size 50M; | |
| upstream streamlit { | |
| server 127.0.0.1:8501; | |
| } | |
| upstream fastapi { | |
| server 127.0.0.1:7861; | |
| } | |
| server { | |
| listen 7860; | |
| # FastAPI — strip /api prefix and proxy to uvicorn | |
| location /api/ { | |
| rewrite ^/api/(.*) /$1 break; | |
| proxy_pass http://fastapi; | |
| 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; | |
| proxy_read_timeout 300s; | |
| proxy_connect_timeout 10s; | |
| } | |
| # Streamlit websocket (required for live updates) | |
| location /_stcore/stream { | |
| proxy_pass http://streamlit; | |
| proxy_http_version 1.1; | |
| proxy_set_header Upgrade $http_upgrade; | |
| proxy_set_header Connection "upgrade"; | |
| proxy_set_header Host $host; | |
| proxy_read_timeout 86400; | |
| } | |
| # Streamlit — everything else | |
| location / { | |
| proxy_pass http://streamlit; | |
| 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; | |
| proxy_http_version 1.1; | |
| proxy_set_header Upgrade $http_upgrade; | |
| proxy_set_header Connection "upgrade"; | |
| } | |
| } | |
| } | |