upstream gestiocof { # Daphne listens on a unix socket server unix:/srv/gestiocof/gestiocof.sock; } server { listen 80; server_name localhost; # All the trafic is routed to Daphne location / { # A copy-paste of what we have in production proxy_set_header Host $http_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_set_header X-SSL-Client-Serial $ssl_client_serial; proxy_set_header X-SSL-Client-Verify $ssl_client_verify; proxy_set_header X-SSL-Client-S-DN $ssl_client_s_dn; # Reverse-proxy proxy_pass http://gestiocof; } # Upgrading the connection when handling websockets location /ws/ { # A copy-paste of what we have in production proxy_set_header Host $http_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_set_header X-SSL-Client-Serial $ssl_client_serial; proxy_set_header X-SSL-Client-Verify $ssl_client_verify; proxy_set_header X-SSL-Client-S-DN $ssl_client_s_dn; # See http://nginx.org/en/docs/http/websocket.html proxy_buffering off; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_pass http://gestiocof; } # Static files location /static/ { root /srv/gestiocof/; access_log off; add_header Cache-Control "public"; expires 7d; } # Uploaded media location /media/ { root /srv/gestiocof/; access_log off; add_header Cache-Control "public"; expires 7d; } }