关于Django中的IP 0.0.0.0

时间:2009-10-25 17:21:54

标签: django ip

我们有一台服务器,我们正在运行一个Django支持的站点。由于我们想测试网站,我们使用的是Django的内置开发服务器(即runserver)。但是我对以下命令的ip感到好奇:

python manage.py runserver 0.0.0.0:80

它导致我们可以远程使用服务器的IP访问一个正在运行的站点 但是当使用127.0.0.1代替时:

python manage.py runserver 127.0.0.1:80

没有人可以从另一台电脑上使用服务器的IP访问该网站。

为什么? 0.0.0.0究竟意味着什么(谷歌称这是默认路线)?为什么不能远程访问127.0.0.1:80

3 个答案:

答案 0 :(得分:51)

0.0.0.0:80是一种快捷方式,意思是“绑定到此计算机支持的所有IP地址”。 127.0.0.1:80使其仅绑定到“lo”或“loopback”接口。如果您只有一个NIC只有一个IP地址,那么您可以明确地绑定它,例如192.168.1.1:80(如果192.168.1.1是您的IP地址),或者您可以列出所有您的计算机响应的IP,但0.0.0.0:80是此的快捷方式。

答案 1 :(得分:10)

127.0.0.1是loopback interface,也称为localhost;这是一个只能从同一台计算机访问的地址,因为实际上并没有通过网络。 0.0.0.0表示“侦听所有接口”,因此将侦听机器所有IP地址(可能只有一个)的连接。

答案 2 :(得分:2)

127.0.0.1是本地(环回)ip,而不是网络上该计算机的ip。要通过网络访问服务器,您需要知道其“网络IP