在 Mac 上打开端口 5672/tcp 以访问 RabbitMQ

Kre*_*eki 12 networking mac port

我在 Mac 上以默认配置安装了最新版本的 RabbitMQ,当我从 localhost 访问它时,没有任何问题。但是今天我在本地网络上构建了一台 linux 机器,但我无法从那台机器远程连接到我的 RabbitMQ 服务器。我关闭了 Mac 上的所有防火墙以及可能阻止连接的所有内容。我完全能够连接到在不同端口上运行的 MongoDB 和任何其他应用程序,ssh 到我的 macbook 等等,但我无法连接到 RabbitMQ(即使我更改了它运行的端口)。当我nmap在 linux 上运行以检查我的 Mac 上是否打开了适当的端口时,我得到了这个:

>> nmap -p 5672 192.168.1.101 
Nmap scan report for 192.168.1.101
Host is up (0.00019s latency).
PORT     STATE  SERVICE
5672/tcp closed amqp
Run Code Online (Sandbox Code Playgroud)

但是当我在 Mac 上做同样的事情时:

>> nmap -p 5672 localhost
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00049s latency).
PORT     STATE SERVICE
5672/tcp open  amqp
Run Code Online (Sandbox Code Playgroud)

ipfw手动添加规则并添加rabbitmq-serversystem preferences -> security -> firewall -> advanced应用程序列表以允许所有传入连接以防万一,但它没有帮助。知道如何强制端口打开以从本地网络中的另一台计算机进行网络访问吗?当我反过来做(在 linux 上安装 rabbitmq 并从 mac 连接到它)时,它运行良好..

小智 18

当我通过 brew 在 Mac OS X 上安装 RabbitMQ 时,我遇到了同样的问题,端口 5672 只在本地主机上打开。

原来,该文件/usr/local/etc/rabbitmq/rabbitmq-env.conf包含一个条目,NODE_IP_ADDRESS用于将其仅绑定到本地主机。NODE_IP_ADDRESS从配置中删除条目会将端口绑定到所有网络接口。


小智 5

守护进程似乎绑定了 127.0.0.1 而不是 0.0.0.0,您可以使用 netstat 工具检查它