본문 바로가기

etc

[JupyterLab] Nginx Reverse Proxy를 통한 Jupyter Lab 연결 설정

주피터를 서버에 구성할때 nginx reverse proxy를 통해 도메인 및 80포트로 접근을 하려고 설정했는데, 정상적으로 동작하지 않는 문제가 발생했다.

원인은 주피터에서 WebSocket을 통해 통신을 하는데, WebSocket 관련 설정이 Reverse proxy 설정에 빠져있어 정상 동작이 안되었던 것이었다.
이를 해결하기 위해서는 아래와 같이 nginx 설정을 변경하면 된다.

http {
    ## ... 생략 ...
    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        ## 각자 도메인에 맞게 설정
        server_name  louisdev.com
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
            proxy_pass http://127.0.0.1:8888;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            # WebSocket 설정
            proxy_http_version     1.1;
            proxy_set_header      Upgrade "websocket";
            proxy_set_header      Connection "Upgrade";
            proxy_read_timeout    86400;
        }
    }
}