Django开发服务器无法从互联网上访问

时间:2015-09-15 15:38:05

标签: python django remote-access

我正在使用

运行Django开发服务器
python manage.py runserver 0.0.0.0:8000

可以从本地机器完全访问,但不能从外部世界访问。 Windows 8.1,Python 3.4.3,Django 1.8.4。

我尝试了另一个端口(7500,50001)并在Windows防火墙上明确允许该端口(通过入站规则)。 我也在不同的机器(AWS EC2)上运行服务器,并在那里允许端口,结果相同。

Netstat表示该程序正在侦听指定的端口,因此理论上它应该正常工作。 我的机器也在settings.py中的ALLOWED HOSTS列表中。

我知道开发服务器不够安全,不能用于生产,但是我做了一个小小的短期事情,不值得为正确的部署而烦恼。那么,任何想法可能是什么问题?

1 个答案:

答案 0 :(得分:0)

在我的不是Windows的方框中,但在这种情况下,我认为用ifconfig命令搜索我的ip并没有什么区别:

# ifconfig
eth0      Link encap:Ethernet     
          inet addr:172.16.0.2  Bcast:172.16.0.255  Mask:255.255.255.0
          inet6 addr: fe80::215:f2ff:fef4:678c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:73452 errors:0 dropped:0 overruns:0 frame:0
          TX packets:52360 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:80778194 (77.0 MiB)  TX bytes:5084041 (4.8 MiB)

然后,尝试启动服务器以打听该ip:

./manage.py runserver 172.16.0.2:8000

端口:8000在我的防火墙处打开,它运行良好。

最有可能的是,Windows中的等效命令称为ipconfig

为了从外部世界(not recommended for any reason)到达服务器,请查看术语" port forwarding"在防火墙中执行内部IP。