首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么0.0.0.0起作用而localhost或127.0.01不起作用

为什么0.0.0.0起作用而localhost或127.0.01不起作用
EN

Stack Overflow用户
提问于 2019-05-18 18:12:04
回答 2查看 2.3K关注 0票数 6

我有一个运行在docker容器中的grpc-go服务器,监听0.0.0.0:8080。在对接容器中的localhost127.0.0.1侦听失败后,我发现它工作正常-而且只有在对接容器中运行失败,而不是在同一台机器上运行时才会失败。

此外,一个简单的web服务器也可以在本地主机或127.0.0.1上进行侦听。

我发现0.0.0.0正在监听任何网络适配器--但没有找到其他解释。

好吧,问题解决了--但我正在寻找一个解释--你知道吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-18 19:41:49

Networking是docker中的名称空间之一,类似于pid和文件系统名称空间。如果您在容器内终止pid 1,那么将终止容器内的进程,而不是主机上的systemd/init (只要您不覆盖名称空间)。如果您在容器内执行rm -rf /bin操作,则会从该容器中删除文件,而不是从主机中删除文件(只要您没有安装卷)。类似地,名称空间中的环回网络(localhost或127.0 0.1)仅指该名称空间,而不是主机。

从更高的层次考虑,主机上的环回只能从该主机访问,您不能从其他主机或外部负载均衡器访问它。Namespaced网络的工作原理非常相似。容器内的回送可由同一网络名称空间内的其他进程到达,但不能由其他名称空间中的容器到达,并且不能从具有端口转发的主机到达,因为端口转发到虚拟网络接口,类似于外部负载均衡器转发到主机网络接口的方式。

票数 8
EN

Stack Overflow用户

发布于 2021-02-20 18:47:25

这可能是由于浏览器缓存的原因!

在我的例子中,我在配置.htaccess文件时遇到了一些错误,这个文件进行了301次重定向。因为我同时使用localhost127.0.0.1进行了测试,所以它们不再工作。当我用curl测试它们时,我发现它只是一个浏览器缓存。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56197982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档