upstream gestiocof { # Daphne listens on a unix socket server unix:/srv/gestiocof/gestiocof.sock; } server { listen 80; server_name localhost; root /srv/gestiocof/; # / → /gestion/ # /gestion → /gestion/ rewrite ^/$ /gestion/; rewrite ^/gestion$ /gestion/; # Static files location /static/ { access_log off; add_header Cache-Control "public"; expires 7d; } # Uploaded media location /media/ { access_log off; add_header Cache-Control "public"; expires 7d; } location /gestion/ { # 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; proxy_set_header Daphne-Root-Path /gestion; location /gestion/ws/ { # 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/ws/; } location /gestion/ { proxy_pass http://gestiocof; } } }