我有一个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/
port 8000
我已经通过 AWS 控制台打开了
:
当我在 Chrome 中导航到以下 URL 时,收到以下消息Oops! Google Chrome could not connect to
::
http://ec2-184-72-67-202.compute-1.amazonaws.com:8000
我究竟做错了什么?
网络状态:
netstat -lan | grep 8000
tcp 0 0 127.0.0.1:8000 0.0.0.0:* LISTEN
答案1
>Development server is running at http://127.0.0.1:8000/
听起来好像服务器设置为仅在本地主机上响应。
检查您的 Django 配置,并确保它设置为在所有接口上响应。
更新:
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。
答案2
您需要将运行服务器绑定到所有端口。默认情况下,它只绑定到本地主机
python manage.py runserver --settings=vlists.settings.dev 0.0.0.0:8000