连接被拒绝的定位与修复
curl、ssh 或客户端立即报 Connection refused,不是等待超时。说明目标主机可达,但目标端口没有服务接受连接,或被防火墙明确拒绝。
ss -lntp | grep ':<port>'
nc -vz <host> <port>
curl -v --connect-timeout 5 http://<host>:<port>/
systemctl status <service>
docker ps --format '{{.Names}}\t{{.Ports}}'
iptables -S
nft list ruleset
127.0.0.1,没有监听 0.0.0.0 或目标网卡。REJECT、安全组拒绝或 SELinux 拦截。curl 127.0.0.1:<port>,区分服务问题和网络问题。systemctl status,修复启动失败原因。ss -lntp 显示的是期望的地址。-p host:container 和进程实际监听端口一致。ss — 监听端口nc — 端口连通性curl — HTTP 验证firewall-cmd / iptables — 防火墙规则合上页面,先回答,再展开对照。
Connection refused 与连接超时在含义上有什么区别?curl 127.0.0.1:<port> 正常、远端访问被拒,最可能是什么原因?127.0.0.1。用 ss -lntp 确认监听地址是否为 0.0.0.0 或目标网卡。-p host:container 的映射与进程实际监听端口一致。容器没有映射到正确的主机端口也会被拒。