美文网首页
jupyter 设置 Nginx 反向代理

jupyter 设置 Nginx 反向代理

作者: cannedfishcan | 来源:发表于2024-04-13 18:52 被阅读0次

    使用情景如果是,连接跳板机(跳板机有足够的权限),然后再连接内网的 jupyter notebook 如果要简单,可以直接使用 vscode, 添加端口转发。
    但这个方法如果连接不稳定,则会反复遇到网络断开的情况,vscode 重新建立转发比较慢,整个流程会比较麻烦。那么,可以考虑在跳板机部署反向代理。

    Nginx安装配置

    1. 安装配置 Nginx
    sudo apt install nginx
    
    1. 添加反向代理配置
      修改 nginx.conf
    vim /etc/nginx/nginx.conf
    

    修改 http 配置

    • 注释 default 配置(如果不需要)
    < include /etc/nginx/sites-enabled/*;
    ---
    > # include /etc/nginx/sites-enabled/*;
    
    • 添加 proxy_http_version 1.1; (有必要)
    > proxy_http_version 1.1;
    

    配置反向代理

    vim /etc/nginx/conf.d/proxy.conf;
    

    根据实际地址,编辑配置:

        upstream notebook{
            server 192.168.0.1:8888;
        }
    
        map $http_upgrade $connection_upgrade {
            default upgrade;
            ''      close;
        }
        server {
            listen 8888;
            location / {
                proxy_pass http://notebook;
                proxy_redirect   off;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
                # websocket headers
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection $connection_upgrade;
            }
        }
    

    配置 jupyter

    需要配置jupyter监听对应ip地址,以及允许所有Orgin的包
    配置 ServerApp.ipServerApp.allow_origin

    jupyter notebook --ServerApp.ip=0.0.0.0 --ServerApp.allow_origin=*       
    

    问题说明

    1. 如果不设定 --ServerApp.allow_origin=*, 那么大概率会遇到 403 forbidden 错误
    2. 如果不设定 proxy_http_version 1.1;, 那么大概率会遇到 101 switching protocols 错误

    相关文章

      网友评论

          本文标题:jupyter 设置 Nginx 反向代理

          本文链接:https://www.haomeiwen.com/subject/gfklxjtx.html