You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NGINX端口重定向配置及Jupyter/JupyterLab访问异常排查

问题解析与解决方案

一、/jupyterlab路径无法访问的原因及修复方法

直接访问server:8888能正常打开JupyterLab,但通过NGINX的/jupyterlab路径不行,大概率是你的NGINX反向代理配置存在以下几个常见问题:

1. 缺少WebSocket支持

JupyterLab依赖WebSocket实现实时交互(比如代码单元格的实时反馈、终端功能),如果NGINX没有配置WebSocket转发,就会导致路径访问失败。

2. 反向代理的路径重写或头部配置不全

JupyterLab的前端资源和API请求依赖正确的请求头部(比如Host、X-Real-IP等),如果这些头部没有正确传递,或者路径映射错误,也会导致访问异常。

正确的NGINX配置示例

针对/jupyterlab路径,你可以修改NGINX配置文件中的server块,添加如下location配置:

location /jupyterlab/ {
    # 转发请求到JupyterLab的8888端口
    proxy_pass http://localhost:8888/;
    # 传递必要的请求头部
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;

    # WebSocket支持配置
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_read_timeout 86400;
}

注意:proxy_pass末尾的/很关键,它会把/jupyterlab/后面的路径拼接转发到http://localhost:8888/后面,比如/jupyterlab/login会转发到http://localhost:8888/login。

配置修改后,记得重启NGINX服务生效:

sudo systemctl restart nginx

二、是否需要移除Jupyter(/julia路径)只保留JupyterLab?

我的建议是优先保留JupyterLab,移除旧的Jupyter Notebook(/julia路径),原因如下:

  • JupyterLab是Jupyter Notebook的下一代集成开发环境,它完全兼容Notebook格式,你可以在JupyterLab中直接打开和编辑.ipynb文件,功能比传统Notebook更强大(比如多标签布局、终端支持、文件管理器、集成多种语言内核)。
  • 你已经部署了Julia和RStudio,JupyterLab可以统一管理Julia、Python等多种内核,不需要单独维护旧的Jupyter实例,减少配置复杂度。
  • 如果你的/julia路径是专门给Julia内核的Notebook服务,其实完全可以在JupyterLab中添加Julia内核,通过同一个入口访问,体验更统一。

当然,如果你的团队或个人有特定场景必须依赖旧的Jupyter Notebook界面,也可以保留两个服务,但从长期维护和使用体验来看,合并到JupyterLab是更优的选择。

内容的提问来源于stack exchange,提问作者Łukasz Prokulski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 08:22:43