设置公共Juypter服务器时SSL:WRONG_VERSION_NUMBER

Ale*_*sen 13 ssl jupyter jupyter-notebook

我正在设置一个Juypter服务器来托管我的笔记本电脑.

/home/user/.jupyter/notebook_configuration.py

c.NotebookApp.certfile = u'/home/user/.jupyter/mycert.pem'
c.NotebookApp.keyfile = u'/home/user/.jupyter/mykey.key'
Run Code Online (Sandbox Code Playgroud)

如果我在控制台上跑

jupyter notebook --ip="ip_address" --port=8000 --certfile=mycert.pem --keyfile mykey.key
Run Code Online (Sandbox Code Playgroud)

服务器和证书工作!

但是,当我设置DNS条目并尝试路由到服务器时,我遇到了这个错误

SSL Error on 10 ('ip_address', 63748): [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:600)
Run Code Online (Sandbox Code Playgroud)

这是怎么回事?

Ale*_*sen 22

问题是一个超级简单的问题,我花了很长时间才弄清楚它应该具备的问题.

默认情况下,控制台为您提供的https地址是要路由到的地址.https作品.

但如果你进入

your_url.com
Run Code Online (Sandbox Code Playgroud)

它会带你去http://your_url.com.如果您为服务器设置TSL证书,则您的http路由不再起作用,并且Jupyter不会重新路由到https开箱即用.

解决方法:改用https

我的长期解决方案:我最终在apache后面托管了我的Jupyter笔记本.

  • 这可能使我节省了一个小时的谷歌搜索解决方案。谢谢!!!!!!! (2认同)