# JupyterHub starts successfully but shows "Not Found" at http://\<host\>:8000 (ConfigurableHTTPProxy 404 + ECONNREFUSED)

**URL:** <https://discourse.jupyter.org/t/jupyterhub-starts-successfully-but-shows-not-found-at-http-host-8000-configurablehttpproxy-404-econnrefused/34110>\
**Category:** JupyterHub\
**Tags:** jupyterhub, help-wanted\
**Created:** [March 26, 2025, 4:27pm UTC](https://discourse.jupyter.org/t/jupyterhub-starts-successfully-but-shows-not-found-at-http-host-8000-configurablehttpproxy-404-econnrefused/34110 "2025-03-26T16:27:45Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![pyyang](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/pyyang/32/18098_2.png) [@pyyang](https://discourse.jupyter.org/u/pyyang)\
**Post date:** [March 26, 2025, 4:27pm UTC](https://discourse.jupyter.org/t/jupyterhub-starts-successfully-but-shows-not-found-at-http-host-8000-configurablehttpproxy-404-econnrefused/34110/1 "2025-03-26T16:27:45Z")

</div>

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:

```auto
[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`)

```auto
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

```auto
jupyterhub -f ~/jupyterhub_config.py --debug

```

Logs (truncated, sensitive info removed)

```auto
[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` or `hub_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!

---

<div class="post-metadata">

**Author:** ![minrk](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/minrk/32/13_2.png) [@minrk](https://discourse.jupyter.org/u/minrk)\
**Post date:** [March 27, 2025, 9:46am UTC](https://discourse.jupyter.org/t/jupyterhub-starts-successfully-but-shows-not-found-at-http-host-8000-configurablehttpproxy-404-econnrefused/34110/2 "2025-03-27T09:46:34Z")

</div>

Make sure to include logs up to and including “JupyterHub is now running at…”. Until then JupyterHub should not be expected to respond to http requests (e.g. you may see ECONNREFUSED from the proxy).

If it never gets there, it’s stuck somewhere, so please make sure to include more of the debug logs.
