Ssl
通過 HTTPS 連接到 IPython,出現 SSL 錯誤
這個問題是從這裡遷移過來的。
我有一台執行 Ubuntu 12.04 的伺服器。我已經在上面安裝了 IPython。現在,我想通過 HTTPS 訪問 IPython。
我已完成以下步驟:
- 使用 openssl 創建 SSL 證書:
openssl req -x509 -nodes -newkey rsa:1024 -keyout ipython_cert.pem -out ipython_cert.pem
- 在 IPython 中創建密碼雜湊:
from IPython.lib import passwd
passwd()
- 創建筆記本配置文件:
ipython profile create nbserver
- 編輯 nbserver 配置文件的配置文件:
nano /.ipython/profile_nbserver/ipython_notebook_config.py
c = get_config() c.IPKernalApp.pylab = 'inline' c.NotebookApp.certfile = u'/home/user/ipython_cert.pem' c.NotebookApp.ip = '*' c.NotebookApp.open_browser = False c.NotebookApp.password = u'XXX' c.NotebookApp.port = 4096 c.NotebookManager.notebook_dir = u'/home/user/pynb'
接下來,我像這樣啟動 IPython notebook
ipython notebook --profile nbserver
:. 現在,在筆記型電腦的瀏覽器中,輸入伺服器的 IP 地址,然後輸入埠號4096
。IPython 拋出此錯誤:SSL Error on 6 ('ip address', 54169): [Errno 1] _ssl.c:504: error:1407609C:SSL routines:SSL23_GET_CLIENT_HELLO:http request
為什麼會這樣,我該如何解決?
通過在瀏覽器的地址欄中輸入 IP 或域名,瀏覽器預設採用 HTTP。這就是您在這裡發生的事情,瀏覽器需要 HTTP 流量,但伺服器在此埠上提供 HTTPS。因此瀏覽器抱怨說,伺服器的回答與預期的形式有根本的偏差。
https://
因此,解決方案是通過瀏覽器地址欄為您的 IP/內部域名添加前綴。