Python Django开发服务器无法从internet访问

Python Django开发服务器无法从internet访问,python,django,remote-access,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说程序正在监听指定的端口,因此理论上它应该可以工作。 我的机器

我正在运行一个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中允许的主机列表中


我知道开发服务器不够安全,无法在生产中使用,但我正在做一件短期的小事情,不值得为正确的部署而烦恼。那么,有什么问题吗?

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

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

./manage.py runserver 172.16.0.2:8000

8000端口在我的防火墙上是打开的,并且它工作正常

最可能的情况是调用windows中的等效命令


为了从外部世界到达服务器,请在防火墙中向内部IP签出要执行的术语。

这与Python和Django无关。而是如何通过网络访问计算机。@MathiasEttinger,在浏览器中键入IP:port。有更好的方法吗?我更多地考虑路由器参数。它是否将请求转发到您的_ip:8000到运行服务器的计算机?我有点担心EC2,因为是的,我也是这么想的,这就是我为什么尝试EC2的原因。从你提到的答案来看,我试过telnet,它成功了,所以很可能是连接问题。但由于防火墙保持端口开放,安全组也保持开放,所以问题仍然存在。我相信ipconfig为您提供了专用IP,因此它也只能在本地工作。如果您想从核心外部网络访问它,您必须打开调制解调器的相关端口,并执行到专用IP的端口转发。我会的。您最好在端口转发部分之前设置nginx-supervisor-gunicorn,并设置DEBUG=False。
# 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)