Spaces:
Running
Running
| worker_processes auto; | |
| pid /tmp/nginx.pid; | |
| events { worker_connections 1024; } | |
| http { | |
| access_log /dev/stdout; | |
| error_log /dev/stderr info; | |
| # Use writable temp paths in Spaces | |
| client_body_temp_path /tmp/nginx/client_temp; | |
| proxy_temp_path /tmp/nginx/proxy_temp; | |
| fastcgi_temp_path /tmp/nginx/fastcgi_temp; | |
| uwsgi_temp_path /tmp/nginx/uwsgi_temp; | |
| scgi_temp_path /tmp/nginx/scgi_temp; | |
| map $http_upgrade $connection_upgrade { | |
| default upgrade; | |
| '' close; | |
| } | |
| server { | |
| listen 7860; | |
| location = /health { | |
| default_type text/plain; | |
| return 200 "ok\n"; | |
| } | |
| location / { | |
| proxy_pass https://${UPSTREAM_HOST}; | |
| proxy_http_version 1.1; | |
| # auth to the private Space (server-side only) | |
| proxy_set_header Authorization "Bearer ${HF_TOKEN}"; | |
| proxy_set_header Host ${UPSTREAM_HOST}; | |
| proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | |
| proxy_set_header X-Forwarded-Proto $scheme; | |
| # WebSockets for Shiny | |
| proxy_set_header Upgrade $http_upgrade; | |
| proxy_set_header Connection $connection_upgrade; | |
| proxy_connect_timeout 30s; | |
| proxy_read_timeout 3600s; | |
| proxy_send_timeout 3600s; | |
| proxy_buffering off; | |
| # Make upstream cookies/redirects work on the public domain | |
| proxy_cookie_domain ${UPSTREAM_HOST} $host; | |
| proxy_redirect https://${UPSTREAM_HOST}/ /; | |
| proxy_ssl_server_name on; | |
| } | |
| } | |
| } | |