server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name hub.exozy.me; include conf.d/ssl; location ~ ^/user/(.*)/desk/(.*)$ { return 301 /hub/desk/$2; } location /hub/desk/ { proxy_pass http://localhost:4080/guacamole/; proxy_buffering off; proxy_http_version 1.1; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $http_connection; proxy_cookie_path /guacamole/ /hub/desk/; access_log off; } # Managing literal requests to the JupyterHub front end location / { proxy_pass http://localhost:8000; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # websocket headers proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_set_header X-Scheme $scheme; proxy_buffering off; # Allow big uploads client_max_body_size 1G; } }