当我运行
python manage.py runserver 0.0.0.0:8000
我的安全设置已设置为
port 80 0.0.0.0/0
我想要访问
http://ec2-somenumber.us-west-2.compute.amazonaws.com:8000
目前它在命令行中不起作用,该应用程序当前在端口 8000 上运行
我跑了
ubuntu@ip-somenumber:~/hello$ python manage.py runserver 0.0.0.0:8000
Validating models...
0 errors found
April 25, 2014 - 23:41:00
Django version 1.6.3, using settings 'hello.settings'
Starting development server at http://0.0.0.0:8000/
并检查
netstat -nao | grep 80
返回
tcp 0 0 127.0.0.1:8000 0.0.0.0:* LISTEN off (0.00/0/0)
udp6 0 0 :::18280 :::* off (0.00/0/0)
unix 2 [ ACC ] SEQPACKET LISTENING 6800 /run/udev/control
unix 3 [ ] STREAM CONNECTED 6780
我也跑了
ufw allow 8000
service ufw restart
但无法访问公共 DNS 或公共 IP
使用公共 IP
54.186.231.88:8000
或公共 DNS
ec2-54-186-231-88.us-west-2.compute.amazonaws.com:8000
工作
可能是什么问题呢?
谢谢,任何帮助都将不胜感激
答案1
您还需要在安全组中添加端口 8000(例如从 Web 控制台),否则安全组会阻止对您的 Django 端口的请求。或者您可以在端口 80 上启动 Django 测试 Web 服务器,因为从您的“grep”中看不到该端口上已有的服务。
有关安全组的详细信息:http://docs.aws.amazon.com/AmazonVPC/latest/GettingStartedGuide/SecurityGroup.html