本地0.0.0.0服务无法访问
在本地启动服务时指定host为0.0.0.0,port指定为8881,然后通过0.0.0.0:8881访问不到,通过127.0.0.1:8881就能访问到,在不修改host及port的情况下,怎么才能直接访问到0.0.0.0:8881呢,求指点
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这个地址本身的含义只是代表本地所有可用ip而已。通常你应该用任意一个可以访问到本机的ip访问,比如
127.0.0.1
(本地环回地址),192.168.1.x
(局域网地址),x.x.x.x
(外网ip映射)等等。有趣的是对于
0.0.0.0
这个地址,实测在windows下会将这个地址作为访问的非法地址处理,但是在Linux下却是可以访问的,前提是你的程序必须监听的是0.0.0.0
或者等效的ipv6地址[::]
。测试用例,使用Python 3启动一个简易的http server:
Windows下访问会出错:
但是Linux下没有任何问题:
“通过 0.0.0.0:8881 访问不到”???
0.0.0.0 根本就不是一个有效的 IP 地址(它是 A 类地址下的一个保留地址),表示“本网络上的本主机”,只能用作源地址。你怎么能用它访问呢?
别人访问它当然要用它的某个网卡分配的 IP 了,无论是子网 IP 还是公网 IP 都可以,如果是本机也可以用回环地址 127.0.0.1。