在我的Amazon Web Services EC2实例上安装了ipython后,我试图按照此处的说明运行iPython HTML笔记本的公共服务器:http://ipython.org/ipython-doc/stable/interactive/htmlnotebook.html('Quick Howto:运行公共笔记本服务器') 。所以我有一个哈希密码和一个自签名的ssl证书。
(sci_3.3.2)ubuntu@ip-xx:~/.ipython/profile_nbserver$ ipython3 notebook --profile=nbserver
[NotebookApp] Using existing profile dir: '/home/ubuntu/.ipython/profile_nbserver'
[NotebookApp] Serving notebooks from /home/ubuntu/.ipython/profile_nbserver
[NotebookApp] The IPython Notebook is running at: https://[all ip addresses on your system]:9999/
[NotebookApp] Use Control-C to stop this server and shut down all kernels.
假设我的EC2实例的公共DNS名称是'ec2-12345.compute.amazonaws.com',如果我在网页浏览器中输入网址“https://ec2-12345.compute.amazonaws.com:9999”,它会在给出之前挂起:
如果我使用HTTP(在这种情况下我在启动笔记本服务器时不使用ssl证书),也会发生同样的事情。此时,我已经创建了允许在EC2安全组设置中使用HTTP和HTTPS的入站规则。但是在创建它们时,分别分配了端口80和443,我认为因为这些都不是端口9999,ipython笔记本正在服务,上面的URL只是挂起。
因为在为HTTP和HTTPS创建入站规则时没有选择端口号的选项,我尝试创建自定义TCP规则,允许选择端口号,在选择端口9999后,我发现我可以访问ipython笔记本在我的网络浏览器中。但是,我在网址中看到了这一点:
在我的网络浏览器中,并且:
在终点站。这是否意味着我没有使用https?这是ipython文档的预期吗?如果没有,是否有办法在为HTTP和HTTPS创建入站规则时选择端口号?
当我从仪表板打开笔记本时,我在终端中看到了这个:
似乎确认确实使用了TCP而不是HTTPS。
我不熟悉网络协议和端口。非常感谢任何指导。
答案 0 :(得分:0)
HTTP和HTTP都是TCP / IP协议:
http://www.w3schools.com/tcpip/tcpip_protocols.asp
我还发现这个视频证实了这一点: http://youtu.be/JMedTCa5lec?t=4m29s
并且网址中的红色,划掉的https反映了未经验证的证书(可能是因为它是自签名的)。