django - 关于 Django 中的 IP 0.0.0.0

标签 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

最佳答案

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

关于django - 关于 Django 中的 IP 0.0.0.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1621457/

相关文章:

inet addr 的正则表达式失败

python - 使用 DjangoRestFramework 序列化两个查询集

javascript - django CSS : general query on CDNs and crispy forms

django - pip打包一个django项目

python - 如何在python中将元素添加到已排序的redis集中

c - IP作为数字没有通常的功能?

mysql - 添加通配符IP如192.168.1.%时远程Mysql数据库访问错误

python - 在 Django python 中获取数据库对象

docker - 如何从 docker 容器中获取 docker 主机的 IP 地址

c - 为什么在 Socket Programming - C 中将位移动 8?