如何在安全的公共iPython Notebook服务器的EC2安全组入站设置中为HTTP(S)设置端口?

时间:2013-08-04 20:13:18

标签: https amazon-ec2 port ipython ipython-notebook

在我的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”,它会在给出之前挂起: This web page is not available

如果我使用HTTP(在这种情况下我在启动笔记本服务器时不使用ssl证书),也会发生同样的事情。此时,我已经创建了允许在EC2安全组设置中使用HTTP和HTTPS的入站规则。但是在创建它们时,分别分配了端口80和443,我认为因为这些都不是端口9999,ipython笔记本正在服务,上面的URL只是挂起。

因为在为HTTP和HTTPS创建入站规则时没有选择端口号的选项,我尝试创建自定义TCP规则,允许选择端口号,在选择端口9999后,我发现我可以访问ipython笔记本在我的网络浏览器中。但是,我在网址中看到了这一点:

cross https

在我的网络浏览器中,并且:

tornado warning

在终点站。这是否意味着我没有使用https?这是ipython文档的预期吗?如果没有,是否有办法在为HTTP和HTTPS创建入站规则时选择端口号?

当我从仪表板打开笔记本时,我在终端中看到了这个:

tcp

似乎确认确实使用了TCP而不是HTTPS。

我不熟悉网络协议和端口。非常感谢任何指导。

1 个答案:

答案 0 :(得分:0)

HTTP和HTTP都是TCP / IP协议:

http://www.w3schools.com/tcpip/tcpip_protocols.asp

我还发现这个视频证实了这一点: http://youtu.be/JMedTCa5lec?t=4m29s

并且网址中的红色,划掉的https反映了未经验证的证书(可能是因为它是自签名的)。