即使打开了端口,也无法在Amazon EC2上打开Web应用程序

我有一个t1.micro实例与公共DNS类似于以下内容:

 ec2-184-72-67-202.compute-1.amazonaws.com 

(一些数字已经改变)

在这个实例中,我正在运行下面的Django应用程序:

 $ sudo python manage.py runserver --settings=vlists.settings.dev Validating models... 0 errors found Django version 1.4.1, using settings 'vlists.settings.dev' Development server is running at http://127.0.0.1:8000/ 

我已经通过AWS控制台打开了port 8000

截图

在Chrome中导航到以下url时,我收到以下消息: Oops! Google Chrome could not connect to Oops! Google Chrome could not connect to

 http://ec2-184-72-67-202.compute-1.amazonaws.com:8000 

我究竟做错了什么?

用netstat:

 netstat -lan | grep 8000 tcp 0 0 127.0.0.1:8000 0.0.0.0:* LISTEN 

 >Development server is running at http://127.0.0.1:8000/ 

听起来像服务器设置为只响应本地主机。
检查您的Djangoconfiguration,并确保它设置为在所有接口上进行响应。

更新:

 netstat -lan | grep 8000 tcp 0 0 127.0.0.1:8000 0.0.0.0:* LISTEN 

是的,绝对是你的绑定问题。 127.0.0.1应该是您的公有IP或所有接口的0.0.0.0。

您需要将runserver绑定到所有端口。默认情况下它只绑定到localhost

  python manage.py runserver --settings=vlists.settings.dev 0.0.0.0:8000