I’m deploying JupyterHub 5.2.1 on an Ubuntu 24.04 LTS GPU server using pyenv + pip. Everything installs correctly, and the server appears to start successfully. However, accessing http://<server-ip>:8000/
in a browser only shows “Not Found”
And the logs consistently show:
[ConfigProxy] error: 404 GET /
[ConfigProxy] error: Failed to get custom error page: Error: connect ECONNREFUSED 127.0.0.1:8081
It seems the proxy starts, but the Hub is not listening on port 8081.
Environment
- OS: Ubuntu 24.04
- Python: 3.11.9 (via pyenv)
- JupyterHub: 5.2.1 (installed via pip)
- JupyterLab: 4.3.6
- Node.js: 22.14.0 (via nvm)
- configurable-http-proxy: 4.6.3 (installed via npm)
- Browser access URL:
http://172.16.8.73:8000/
- JupyterHub is started manually with a config file
Configuration (jupyterhub_config.py
)
c = get_config()
c.JupyterHub.bind_url = 'http://0.0.0.0:8000'
c.JupyterHub.hub_bind_url = 'http://127.0.0.1:8081'
c.JupyterHub.hub_connect_url = 'http://127.0.0.1:8081'
c.Authenticator.allow_all = True
c.Spawner.default_url = '/lab'
Startup Command
jupyterhub -f ~/jupyterhub_config.py --debug
Logs (truncated, sensitive info removed)
[I JupyterHub app:3346] Running JupyterHub version 5.2.1
[I JupyterHub app:3376] Using Proxy: jupyterhub.proxy.ConfigurableHTTPProxy-5.2.1
[I JupyterHub proxy:752] Starting proxy @ http://0.0.0.0:8000
[ConfigProxy] info: Proxying http://0.0.0.0:8000 to (no default)
[ConfigProxy] info: Proxy API at http://127.0.0.1:8001/api/routes
[ConfigProxy] error: 404 GET /
[ConfigProxy] error: Failed to get custom error page: Error: connect ECONNREFUSED 127.0.0.1:8081
Things I Have Verified
- Python + JupyterHub + JupyterLab are installed and working in a pyenv-managed virtualenv.
configurable-http-proxy
is installed and correctly in the PATH.- Port 8000 is reachable from the browser.
- Port 8081 is not responding (
curl http://127.0.0.1:8081
fails). - No other processes are using port 8081.
Question
- Why is the Hub backend not listening on port 8081?
- Is there any known issue with
hub_bind_url
orhub_connect_url
in JupyterHub 5.2.1? - How should I further debug this “404 GET /” + “ECONNREFUSED 127.0.0.1:8081” issue?
Any help or insights would be greatly appreciated!