diff --git a/provisioning/nginx.conf b/provisioning/nginx.conf index 07f290f3..d2f55bd0 100644 --- a/provisioning/nginx.conf +++ b/provisioning/nginx.conf @@ -9,7 +9,7 @@ server { server_name localhost; # All the trafic is routed to Daphne - location ~ ^/ { + location / { # A copy-paste of what we have in production proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; @@ -18,21 +18,42 @@ server { 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/static/; + location /static/ { + root /srv/gestiocof/; access_log off; add_header Cache-Control "public"; expires 7d; } # Uploaded media - location ~ ^/media/ { - root /srv/gestiocof/static/; + location /media/ { + root /srv/gestiocof/; access_log off; add_header Cache-Control "public"; expires 7d;