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


12

我在Mac上以默认配置安装了RabbitMQ的最新版本,当我从本地主机访问它时,就没有任何问题了。但是今天,我在本地网络上构建了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

但是,当我在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

我将规则ipfw手动添加rabbitmq-serversystem preferences -> security -> firewall -> advanced应用程序列表中,以允许所有传入连接以防万一,但这并没有帮助。任何想法如何强制打开端口以供本地网络中另一台计算机进行网络访问?当我以其他方式(在Linux上安装Rabbitmq并从Mac连接到它)进行操作时,它运行正常。

Answers:


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工具进行检查


3

对我有用的是两个先前答案的结合。

使您的/usr/local/etc/rabbitmq/rabbitmq-env.conf看起来像这样:

CONFIG_FILE = / usr / local / etc / rabbitmq / rabbitmq

NODE_IP_ADDRESS = 0.0.0.0

NODENAME =兔子@本地主机

(如果我完全删除了NODE_IP_ADDRESS条目,rabbitmq给了我错误)


0

您使用什么帐户连接到RabbitMQ。如果您使用来宾帐户。这可能有帮助

https://www.rabbitmq.com/access-control.html


1
SU的目的是建立知识库,而不是其他答案链接的集合。外部链接可能会中断,在这种情况下,您的答案将毫无价值。请在你的答案的基本信息,并使用链接归属和进一步阅读..
fixer1234
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.