Cannot Connect to Jupyterhub Remotely

Hi, everyone
My jupyterhub is running on my Centos7 server. I’m using a reverse proxy to connect to it. The whole configuration is as default.
Now I can connect to the hub using the local browser but not the remote browser.My colleagues using the LAN still cannot connect to it.

Cannot post the log because of the restriction. Everything is all right when connecting locally

Jupyterhub version is 1.4.2
configurable-http-proxy version is 4.5.0

If you’re using a reverse proxy, that means it’s the reverse proxy itself that you cannot connect to from the remote browser, right? It seems like this is all in the reverse proxy configuration, and/or how the reverse proxy is exposed to the public. How is that done?

If you are using a reverse proxy, you do not need to change the Hub’s bind ip unless the reverse proxy is on a different machine from jupyterhub’s configurable-http-proxy. You should be able to change the bind ip to if the reverse proxy is local. It is only the reverse proxy itself that anyone needs to connect directly to, and only the proxy itself needs to connect to the hub.

Thanks for your reply, this problem really drive me crazy.
The reverse proxy is on another server. But even if the reverse proxy not used, it still didn’t work. My colleagues connecting to the jupyterhub through LAN still didn’t work!
Here is my log.
I also monitored the 8000 port and pretty sure the port was listening and received some packages when I tried to connect to it.

I don’t this this has anything to do with jupyterhub, and only has to do with your local network. Are there any security policies, proxies, or firewalls in place that might be limiting LAN traffic? When you used the reverse proxy, are you able to access through the proxy (not accessing jupyterhub directly)? Can other machines on the LAN reach the reverse proxy at all? It should not matter if the hub is running, the reverse proxy should still be accessible.

Seems that I mixed the definition of VPN and proxy.
I’m using the VPN to connect to this server.
I can ssh to this server through the VPN.

And the “remote” machines are on the same LAN with no firewall between them? E.g. you can ssh without using the VPN?

Though the remote machine is not on the same LAN, I also tried to use the machine on the sam LAN to connect but failed.

For the “remote” client, how are you exposing the server to make it accessible across the network?

The LAN has a VPN server(rather than the jupyterhub) exposing to the public network(having public IP address). When the client builds a L2TP VPN connection to the VPN server, it can access all machines on the LAN by their local IP address. I set up the Jupyterhub on one of these machines.

It’s very hard to debug VPN and LAN configurations remotely, but if you’ve configured JupyterHub to listen on public interfaces (this requires no configuration, as listening on all interfaces is the default behavior) and it’s not connectable, then the issue should be entirely in the VPN and/or LAN blocking the port, or the connect ip not being correct, etc.

JupyterHub shouldn’t be related to the issues at all. You should be able to debug all the connection issues with e.g. python3 -m http.server.

If you can use the same setup to ssh directly to the machine, then I suspect it’s a port issue, because that means you can get to port 22, but not JuptyerHub on port 8000.

You could even try a port scanning tool like nmap to see what ports you can find for the ip.

Thank you very much for the solution. I will try this tomorrow and see whether I can solve this problem.

Problem solved, it’s the firewall blocked the connection.