尽管没有人在侦听此端口,但为什么对本地主机的卷曲请求会被处理/阻塞?

问题描述 投票:0回答:1

我正在调查一个问题,即我无法在新安装的 Linux Ubuntu 22 计算机上通过暴露的端口 80 或 8080 连接到 docker 容器。相反,每个请求都会挂起。

所以我重新启动了机器并停止了 nginx 和 docker 等所有服务。没有任何内容正在侦听特定端口。

curl http://0.0.0.0:8000

正如预期的那样,它打印了

curl: (7) 0 毫秒后无法连接到 0.0.0.0 端口 8000: 连接被拒绝

但是,

curl http://localhost:8000
会导致卷曲永远挂起。

当我这样做时

ping localhost
,它显示它解析为127.0.0.1(如预期)

并且

curl http://127.0.0.1:8000
也无法连接:

curl: (7) 0 ms后无法连接到127.0.0.1端口8000: 连接被拒绝

netstat -l -p

tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN      -
tcp        0      0 localhost:domain        0.0.0.0:*               LISTEN      -
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN      -
udp        0      0 localhost:domain        0.0.0.0:*                           -
udp        0      0 Ubuntu-2204-jammy-a:ntp 0.0.0.0:*                           -
udp        0      0 localhost.localdoma:ntp 0.0.0.0:*                           -
udp        0      0 0.0.0.0:ntp             0.0.0.0:*                           -
udp6       0      0 Ubuntu-2204-jammy-a:ntp [::]:*                              -
udp6       0      0 Ubuntu-2204-jammy-a:ntp [::]:*                              -
udp6       0      0 [::]:ntp                [::]:*                              -
raw6       0      0 [::]:ipv6-icmp          [::]:*                  7           -

这可能是什么?

linux ubuntu curl networking
1个回答
0
投票

我可以自己回答。正如我的 Reddit 帖子上乐于助人的人所指出的,这是由于

iptables

一旦 iptables 启动,docker 的情况就不太好了。

我找到了一篇博文,描述了如何与 docker 结合设置 iptables:

https://blog.jarrousse.org/2023/03/18/how-to-use-ufw-firewall-with-docker-containers/

© www.soinside.com 2019 - 2024. All rights reserved.