一个 web 程序启动,监听的这个 ip 和端口, ip 是 127.0.0.0 / 0.0.0.0 / localhost 有什么区别

2021-05-11 15:27:05 +08:00
 zxCoder

查了一些资料没怎么看懂

如果程序是在服务器上跑的,是不是就不能用 localhost 或者 127.0.0.1,这样其他人就无法通过服务器 ip 来访问

808 次点击
所在节点    问与答
5 条回复
mokeyjay
2021-05-11 15:32:39 +08:00
监听在 localhost 或者 127.0.0.1 的话就只能本机访问
监听在 0.0.0.0 就是任意 IP 都能访问到

跟 IP 网段有关
好比三层套娃,0.0.0.0 最大、192.168.x.x 局域网 IP 其次,127.0.0.1 最小。越大的那一层越能被更多 IP 访问到
keyfunc
2021-05-11 15:34:31 +08:00
能监听 localhost 的吗?
zxCoder
2021-05-11 16:33:11 +08:00
@mokeyjay 懂了 之前都是在本地启动,刚才直接打包然后放服务器运行显示监听 localhost,然后用 ip 访问不了,改为 0.0.0.0 就可以了
Kaciras
2021-05-11 22:29:06 +08:00
0.0.0.0 是 IPv4 的特殊地址,监听的话通常表示任意 IP 。
127.0.0.* 是 IPv4 的环回地址。
localhost 是主机名,解析为环回地址`127.0.0.1`( IPv4 )或者`::1`( IPv6 )。
Kaciras
2021-05-11 22:30:47 +08:00
说错了,127.0.0.0/8 都是 IPv4 的环回地址

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/776255

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX