server { listen 443 ssl; http2 on; server_name hub.wbd-rd.nl; ssl_certificate /etc/letsencrypt/live/infra/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/infra/privkey.pem; location / { proxy_pass http://jupyterhub:8000; proxy_set_header Host $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; # JupyterHub uses WebSockets for terminals + notebook kernels proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; # Long-running notebooks proxy_read_timeout 24h; } }