Instalacja JupyterHub za revProxy obsługującym cały ruch www na porcie 443 organicza zapotrzebowanie na IP.
Jeżeli JupyterHub pracuje na adresie:
http://X.X.X.X:8000/jupyterhub
to przed sekcją server należy umieścić:
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
a odpowiedniej dla domeny publicznej sekcji server:
location /jupyterhub/ {
proxy_pass http://jupyter.domena ;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# websocket headers
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
przy upstream:
upstream jupyter.domena {
server X.X.X.X:8000;
}
Możliwa jest komunikacja https (SSL/TLS) z nginx za którym przez http (bez SSL/TLS) stoi serwer JupyterHub. Pomimo że łącząc się bezpośrednio z http://X.X.X.X:8000/jupyterhub pojawia się alert o nie zabezpieczonym połączeniu to przy połączeniach przez revProxy z TLS alert się nie pokazuje.