📄 Jupyter Lab 无法启动 Kernel 问题排查与解决总结
 一、问题概述
 🚨 现象描述:
 用户通过浏览器访问远程服务器的 Jupyter Lab 页面(http://xx.xx.xx.xx:8891/lab)后,.ipynb 文件可以打开,但无法正常启动内核 (Kernel),并持续报错:
 
“Error Starting Kernel”
 “Failed to fetch”
 浏览器开发者工具 (F12) 中观察到多个错误:
 WebSocket connection to ‘ws://xx.xx.xx.xx:8891/api/kernels/…/channels?..’ failed:
 W
 WebSocket connection to ‘ws://xx.xx.xx.xx:8891/api/events/subscribe’ failed:

二、原因分析
 🧠 核心问题:
 WebSocket 协议连接失败,导致内核无法启动或通信中断。
 🔍 根本原因:
 用户启动了 HTTP(非加密)版本的 Jupyter Lab。
 但在远程访问时,浏览器出于安全策略,默认拒绝 ws:// 协议。
 同时没有使用反向代理或 HTTPS 证书保护,导致浏览器无法建立 WebSocket 通道。
 ⚠️ 后续进一步排查发现:
 使用 curl 可以正常访问 HTTP 接口,说明端口已开放,HTTP 通信无问题。
 WebSocket 协议握手失败,浏览器未能收到 101 Switching Protocols 响应。
 后台日志提示 [SSL: HTTP_REQUEST]、wrong version number,说明客户端发起了 HTTP 请求,但服务端运行的是 HTTPS 模式。
三、调查过程
 时间点
 调查内容
 结论
 🕵️ 初始
 验证 Jupyter 服务是否正常运行
 ✅ 正常,端口 8891 已开放
 🕵️ 继续
 使用 curl 测试 API 通信
 ✅ HTTP 接口 /api/kernelspecs 可访问
 🕵️ 核心
 检查 WebSocket 握手失败原因
 ❌ 浏览器使用 ws://,服务器未响应升级接口
 🕵️ 关键
 检查服务器 SSL 状态
 ✅ 实际已使用 HTTPS 证书启动 Jupyter
 🕵️ 修正
 切换访问方式为 https://
 ✅ 一切恢复正常,内核可启动,WebSocket 正常通信
四、解决方案
 ✅ 最终解决步骤如下:
 生成自签名 HTTPS 证书:
 mkdir -p ~/certs
 o
 openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout ~/certs/jupyter.key \
-out ~/certs/jupyter.pem \
-subj “/CN=xx.xx.xx.xx”
以 HTTPS 模式启动 Jupyter Lab:
 jupyter lab \
–ip=0.0.0.0 \
–port=8891 \
–no-browser \
–ServerApp.allow_remote_access=True \
–ServerApp.allow_origin=“*” \
–ServerApp.disable_check_xsrf=True \
–ServerApp.token=‘’ \
–certfile=~/certs/jupyter.pem \
–keyfile=~/certs/jupyter.key
浏览器访问地址更新为:
 https://xx.xx.xx.xx:8891/lab
确认 WebSocket 已升级为 wss://,内核可正常启动。
五、经验教训与建议
 ✅ 技术建议:
 避免使用 http:// + ws:// 组合方式部署 Jupyter Lab,特别是在远程或跨域访问场景。
 建议统一采用 https:// + wss:// 方式部署,确保浏览器信任并兼容。
 如果为局域网使用,可生成自签名证书临时使用;如部署到公网,建议使用 Let’s Encrypt 免费证书或正式 CA 证书。
 📁 工具建议:
 借助浏览器 F12 工具中的 Network + Console 是定位 Jupyter Kernel 问题的关键。
 使用 curl,telnet,或 Python websocket-client 库可以本地模拟 WebSocket 握手行为,帮助分析服务端响应状态。
六、附录(常用命令)
 🔹 查看端口是否开放:
 curl http://:/api/kernelspecs
 t
 telnet 
🔹 检查防火墙(iptables):
 sudo iptables -L -n












![[Redis]redis-windows下载安装与使用](https://i-blog.csdnimg.cn/direct/bb21edd5ca0c45449fc21c8a80cd4804.png)






