在 Google Cloud VM 上运行 Jupyter Notebook 时出现 SSL 错误



我已经在GCP虚拟机上设置了一个实例,并安装了anaconda,torch等,并初始化了我的Jupyter笔记本(包括配置设置(。我已经安装了我的谷歌存储桶,一切似乎都很好,除了当我运行Jupyter时:

~$ jupyter notebook --certfile=/home/username/certs/mycert.pem
[I 16:18:41.293 NotebookApp] [nb_conda_kernels] enabled, 3 kernels found
[I 16:18:44.879 NotebookApp] Serving notebooks from local directory: 
/home/username
[I 16:18:44.879 NotebookApp] 0 active kernels 
[I 16:18:44.879 NotebookApp] The Jupyter Notebook is running at: 
https://0.0.0.0:8888/
[I 16:18:44.879 NotebookApp] Use Control-C to stop this server and shut 
down all kernels (twice to skip confirmation).

我可以在 VM 的外部 IP 上访问它:

https://xx.xxx.xxx.xx:8888

但是一旦我这样做,我就会收到此错误:

ssl.SSLError: [SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] sslv3 alert 
certificate unknown (_ssl.c:645)

完整回溯:

[W 16:18:52.343 NotebookApp] SSL Error on 11 ('73.43.19.83', 56932): 
[SSL: SSLV3_ALERT_CERTIFICATE
_UNKNOWN] sslv3 alert certificate unknown (_ssl.c:645)
[W 16:18:52.343 NotebookApp] SSL Error on 14 ('73.43.19.83', 56936): [SSL: SSLV3_ALERT_CERTIFICATE
_UNKNOWN] sslv3 alert certificate unknown (_ssl.c:645)
[E 16:18:52.343 NotebookApp] Uncaught exception
    Traceback (most recent call last):
      File "/home/username/anaconda3/lib/python3.5/site-packages/tornado/http1connection.py", l
ine 693, in _server_request_loop
        ret = yield conn.read_response(request_delegate)
      File "/home/username/anaconda3/lib/python3.5/site-packages/tornado/gen.py", line 870, in 
run
        value = future.result()
      File "/home/username/anaconda3/lib/python3.5/site-packages/tornado/concurrent.py", line 2
15, in result
        raise_exc_info(self._exc_info)
      File "<string>", line 3, in raise_exc_info
      File "/home/username/anaconda3/lib/python3.5/site-packages/tornado/gen.py", line 876, in 
run
        yielded = self.gen.throw(*exc_info)
      File "/home/username/anaconda3/lib/python3.5/site-packages/tornado/http1connection.py", l
ine 168, in _read_message
        quiet_exceptions=iostream.StreamClosedError)
      File "/home/username/anaconda3/lib/python3.5/site-packages/tornado/gen.py", line 870, in 
run
        value = future.result()
      File "/home/username/anaconda3/lib/python3.5/site-packages/tornado/concurrent.py", line 2
15, in result
        raise_exc_info(self._exc_info)
      File "<string>", line 3, in raise_exc_info
      File "/home/username/anaconda3/lib/python3.5/site-packages/tornado/iostream.py", line 124
3, in _do_ssl_handshake
        self.socket.do_handshake()
      File "/home/username/anaconda3/lib/python3.5/ssl.py", line 988, in do_handshake
        self._sslobj.do_handshake()
      File "/home/username/anaconda3/lib/python3.5/ssl.py", line 633, in do_handshake
        self._sslobj.do_handshake()
    ssl.SSLError: [SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] sslv3 alert certificate unknown (_ssl.c:6
45)

这是在 Linux VM 上。在本地,我在电脑上。我已经尝试重写 Jupyter 的配置文件,但我遇到了这个问题。我在网上找到的解决方案都没有奏效。

您似乎正在尝试使用 Jupyter 手动设置 VM 实例。这往往非常棘手,您是否考虑过使用 GCP 的 AI 平台笔记本?https://cloud.google.com/ai-platform-notebooks

它为您提供了一个带有Jupyter Lab和许多预安装和配置的流行DL/ML库的VM,您甚至不需要SSH即可访问笔记本。

最新更新