互联网
首页 > 互联网> > [root@lkserver128 ~]# telnet 192.168.1.118 5672 Connection closed by foreign host ---------- 这个说明什么

[root@lkserver128 ~]# telnet 192.168.1.118 5672 Connection closed by foreign host ---------- 这个说明什么

作者:互联网

当你执行 telnet 192.168.1.118 5672 并收到 Connection closed by foreign host 的响应时,说明你的 telnet 尝试连接到 RabbitMQ 服务器的 5672 端口(默认的 AMQP 端口)时,连接被远程主机关闭了。这可能说明以下几种情况:

1. RabbitMQ 服务未运行

RabbitMQ 服务器可能未启动。你可以通过命令检查 RabbitMQ 服务状态:

sudo systemctl status rabbitmq-server

Bash

如果服务未运行,请尝试启动它:

sudo systemctl start rabbitmq-server

Bash

2. 防火墙/configuration/iptables 设置

服务器的防火墙可能阻止了对 5672 端口的访问。你可以检查防火墙设置并确保对 5672 端口的访问是开放的。

例如,使用以下命令检查防火墙规则(基于 firewalld):

sudo firewall-cmd --list-all

Bash

如需添加规则以允许 5672 端口,可以运行:

sudo firewall-cmd --zone=public --add-port=5672/tcp --permanent
sudo firewall-cmd --reload

Bash

3. RabbitMQ 配置

RabbitMQ 的配置可能不正确,导致服务不监听 5672 端口。你可以检查 RabbitMQ 的配置文件(通常位于 /etc/rabbitmq/rabbitmq.conf 或 /etc/rabbitmq/rabbitmq-env.conf),确保绑定的 IP 地址和端口号设置正确。

4. 网络问题

网络连接可能存在问题,确保你的客户端能够访问该 IP 地址。可以尝试从其他机器或以 ping 命令确认到目标机器的网络连通性:

ping 192.168.1.118

Bash

5. RabbitMQ 端口被其他程序占用

确保没有其他程序占用 RabbitMQ 的默认端口 5672。你可以使用以下命令查看哪些服务在监听该端口:

sudo netstat -tuln | grep 5672

Bash

总结

通过检查 RabbitMQ 服务状态、网络防火墙设置和 RabbitMQ 配置,你应该能够找到并解决连接被关闭的问题。

标签:
来源: