Python 无法访问EC2实例上的Django服务器

Python 无法访问EC2实例上的Django服务器,python,django,security,amazon-web-services,amazon-ec2,Python,Django,Security,Amazon Web Services,Amazon Ec2,我创建了一个EC2实例。在上面安装了Python 3.4,然后在上面安装了Django 1.10.6。我正试图开发我的第一个django应用程序 我启动了django服务器 python manage.py runserver 我无法访问。 我收到一个错误连接错误 我回到EC2实例,将协议/端口添加到安全组中。这就是我添加port/proptocol后的情况 Custom TCP Rule TCP 8000 0.0.0.0/0 Custom TCP Rule TCP 8000 ::

我创建了一个EC2实例。在上面安装了Python 3.4,然后在上面安装了Django 1.10.6。我正试图开发我的第一个django应用程序

我启动了django服务器

python manage.py runserver
我无法访问。 我收到一个错误连接错误

我回到EC2实例,将协议/端口添加到安全组中。这就是我添加port/proptocol后的情况

Custom TCP Rule  TCP  8000  0.0.0.0/0
Custom TCP Rule  TCP  8000  ::/0
它不起作用。我甚至添加了一条规则,允许来自任何地方的所有流量。它仍然不起作用

但是,如果我以以下方式启动django服务器

python manage.py runserver 0.0.0.0:8000
我得到以下错误:

DisallowedHost at /
Invalid HTTP_HOST header: 'n.n.n.n:8000'. You may need to add 'n.n.n.n' to ALLOWED_HOSTS.
如果尝试将IP添加到ProjectName/settings.py

ALLOWED_HOSTS = ['n.n.n.n'] #Make sure your host IP is a string
我得到了错误连接错误

我可以ping IP。我可以使用ssh(有允许ssh的规则)。看起来没有防火墙

$ sudo service iptables status
iptables: Firewall is not running.
为什么我不能访问http/django服务器


谢谢

实际上,当我将主机添加到ProjectName/settings.py文件时,我一定没有正确启动服务器。我又试了一次,这次成功了

看来

django服务器在EC2实例上启动时使用以下命令

python manage.py runserver
python manage.py runserver 0.0.0.0:8000
可能无法从其他机器访问

django服务器以以下方式启动

python manage.py runserver
python manage.py runserver 0.0.0.0:8000
如果主机的IP地址添加到ProjectName/settings.py文件中允许的_主机,则可以从Internet访问

ALLOWED_HOSTS = ['n.n.n.n'] #Make sure your host IP is a string

这是除了安全组中的条目之外的所有内容

Hi@user2125853,当您说将主机IP添加到允许的\u主机时,是ec2实例的IP还是您试图从中访问Django的机器的IP?