Kernel wont connect from outside network

Hi All,

I just installed TLJH on a server and everything seems to be working when I’m on the same network, or if I VPN into our network. However, as soon as I am on an external network (and disconnected from VPN), I can still access jupyter hub and the UI loads ok, but the kernel will not connect. I’m guessing this is a network/firewall issue, but I’m not sure. Can anyone help/point me in the right direction here? I’d like this server to be setup so any of our users can access it externally without a VPN.

I have ports 80, 443, 8000, 8001, 8888, and various others open. Are there any required ports that I’m missing?

Thank you!

Can you show us your web browser console logs from when a kernel tries to connect? One possibility is you’ve got a proxy or firewall that’s blocking websockets.

Hi @manics,

Thanks for the quick reply! Looks like you’re correct about it being a websocket issue. This is the error in my browser when the Kernel is not connecting:

WebSocket connection to 'ws://MyIP/user/MyLab/api/kernels/1bbd5c94-2657-428d-a859-5777fe170817/channels?session_id=b6991fae-c82c-4cbf-ab10-2ddab25f7d71' failed: 

_createSocket @ jlab_core.ee83cc2a05.....

I don’t have much experience with websockets or what the underlying problem here is. We are behind a firewall, so is this something I need to ask our IT folks to look at? or is there a config in my server that needs to be changed?

Many thanks for your help!

Since JupyterHub works inside your VPN we can be fairly confident it’s correctly configured. Talk to your IT/network administrators about allowing websockets to be allowed through any firewalls or proxies they’re running.