当前位置:   article > 正文

[docker] 解决 docker 部署访问提示 Empty reply from server,但是本地运行能够正常访问_docker compose empty reply from server

docker compose empty reply from server

起因

最近通过 Docker 部署 Nestjs 应用的时候发现,本地运行起来好好的应用,但是部署到 docker 中访问就提示 Empty reply from server。

解决

通过一番折腾,发现默认 fastify 监听的只有 127.0.0.1 端口,导致 docker 无法接收其他主机的请求,所以才会出现这个问题。通过手动指定监听 host 为 0.0.0.0 即可解决此问题

为什么 docker 中 0.0.0.0 才能被其他的主机连接?

因为 docker 中容器网络是相互隔离的,所以 127.0.0.1 代表的不是本机,是 此容器的意思,这会让这个容器里面可以访问到这个地址,但是容器外部(其他的主机)却无法访问。
但是 0.0.0.0 标识的是监听所有端口,或者是缺省的监听地址,这样也会接收来自 eth0 的访问,所以这样才可以联通外部访问

参考:
nestjs 官方文档
fastify 文档
0.0.0.0 与 127.0.0.1

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/888353
推荐阅读
相关标签
  

闽ICP备14008679号