access_log /var/log/nginx/humbug.access.log; error_log /var/log/nginx/humbug.error.log; # Enable HSTS: tell browsers to always use HTTPS add_header Strict-Transport-Security max-age=15768000; # Serve a custom error page when the app is down error_page 502 503 504 /static/html/5xx.html; # Serve static files directly location /static/ { alias /home/humbug/prod-static/; error_page 404 /static/html/404.html; } # Send longpoll requests to Tornado location ~ /json/get_updates|/api/v1/get_messages|/api/v1/messages/latest|/json/get_events|/api/v1/events { proxy_pass http://localhost:9993; proxy_redirect off; # Needed for longpolling proxy_buffering off; proxy_read_timeout 1200; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } # Send everything else to Django via FastCGI location / { include fastcgi_params; fastcgi_pass unix:/home/humbug/humbug-deployments/fastcgi-socket; fastcgi_split_path_info ^()(.*)$; # Second number set to `getconf PAGESIZE` fastcgi_buffers 1024 4k; fastcgi_max_temp_file_size 0; } real_ip_header X-Forwarded-For; # lb0.zulip.net elastic IP set_real_ip_from 54.213.41.54;