[jupyter-notebook] 원격 Jupyter Notebook 서버에 액세스 할 수없는 이유는 무엇입니까?

centos6.5 서버에서 Jupyter Notebook 서버를 시작했으며 jupyter는 다음과 같이 실행됩니다.

[I 17:40:59.649 NotebookApp] Serving notebooks from local directory: /root
[I 17:40:59.649 NotebookApp] 0 active kernels
[I 17:40:59.649 NotebookApp] The Jupyter Notebook is running at:https://[all ip addresses on your system]:8045/
[I 17:40:59.649 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

동일한 LAN (근거리 통신망)에서 원격으로 Jupyter에 액세스하려면 open이라고 말하면 http://192.168.1.111:8045/Jupyter 페이지를 전혀 열 수 없습니다. 그건 그렇고, 원격 centos 서버에 성공적으로 액세스 할 수 있습니다.

가능한 이유는 무엇입니까?



답변

외부 연결을 허용하도록 jupyter_notebook_config.py 파일을 구성 했습니까 ?

기본적으로 Jupyter Notebook은 로컬 호스트 (예 : 실행중인 동일한 컴퓨터)의 연결 만 허용합니다. NotebookApp.allow_origin 옵션을 기본값 ”에서 ‘*’ 로 수정 하면 Jupyter에 외부 적으로 액세스 할 수 있습니다.

c.NotebookApp.allow_origin = '*' #allow all origins

또한 노트북이 수신 할 IP를 변경해야합니다.

c.NotebookApp.ip = '0.0.0.0' # listen on all IPs

이 스레드 의 후속 답변 에서 세부 정보도 참조하십시오 .

Jupyter 노트북 구성 파일에 대한 문서입니다.


답변

아래에 표시된 명령을 사용하여 ip로 로컬 서버에 액세스 할 수있었습니다.

jupyter notebook --ip xx.xx.xx.xx --port 8888

xx.xx.xx.xxjupyter 서버의 로컬 IP로 대체하십시오 .


답변

James023은 이미 정답을 언급했습니다. 그냥 포맷

jupyter_notebook_config.py 파일을 이미 구성하지 않은 경우

1 단계 : 콘솔에이 줄을 입력하여 파일 생성

jupyter notebook --generate-config

2 단계 : 값 편집

gedit  /home/koushik/.jupyter/jupyter_notebook_config.py

(어쨌든 기본값은 주석 처리되므로 아무 곳에 나 다음 두 줄을 추가하십시오)

c.NotebookApp.allow_origin = '*' # 모든 출처 허용

c.NotebookApp.ip = '0.0.0.0' # 모든 IP에서 수신

3 단계 : 포트가 차단 된 경우 gedit를 닫은 후

sudo ufw allow 8888 # 기본 jupyter 포트 인 tcp : 8888 포트를 활성화합니다.

4 단계 : 비밀번호 설정

jupyter notebook password # 암호를 묻는 메시지가 표시됩니다

Step5 : Jupyter 시작

jupyter notebook

http://xxx.xxx.xxx.xxx:8888/login 과 같이 연결 하시겠습니까?


답변

RedHat 7에서는 Jupiter 명령을 실행하기 전에 특정 포트를 허용해야합니다. 포트가 8080입니다.

iptables -I INPUT 1 -p tcp --dport 8080 -j ACCEPT

그러면 정상적으로 실행할 수 있습니다. 예를 들어 다음을 사용합니다.

jupyter notebook --ip 0.0.0.0 --no-browser --port=8080 --allow-root

또는 당신이 좋아하는 무엇이든.


답변

또는 서버에 대한 터널을 만들 수 있습니다.

ssh -i <your_key> <user@server-instance> -L 8888:127.0.0.1:8888

그런 다음 127.0.0.1:8888브라우저에서 엽니 다 .

-i <your_key>identity_file이 없으면를 생략합니다 .


답변

명령 줄에서 jupyter 서버가 정상적으로 실행되고 있음을 확인할 수 있습니다. 원격 jupyter 서버에 액세스 할 수없는 이유는 원격 centos6.5 서버의 방화벽 규칙이 로컬 브라우저에서 들어오는 요청을 차단하기 때문입니다. 8045 포트.
sudo ufw allow 80 # enable http server
sudo ufw allow 443 # enable https server
sudo ufw allow 8045 # enable your tcp:8045 port
그런 다음 jupyter에 다시 액세스하십시오.


jupyter_notebook_config.py파일 에서 해당 위치의 주석 처리를 제거하고 편집해야 할 수도 있습니다.

c.NotebookApp.allow_remote_access = True

VPN이 있으면 종료 할 수도 있습니다.


답변

다른 이유는 방화벽 일 수 있습니다. 우리는 심지어

jupyter 노트북 –ip xx.xx.xx.xxx –port xxxx.

그런 다음 새로운 centOS7의 방화벽으로 밝혀졌습니다.