Откройте порт 5672 / tcp для доступа к RabbitMQ на Mac

12

У меня RabbitMQ в его последней версии, установленной на моем Mac с конфигурацией по умолчанию, и когда я обращаюсь к нему с локального хоста, не возникает никаких проблем. Но сегодня я создаю Linux-машину в локальной сети и никак не могу подключиться к своему серверу RabbitMQ удаленно с этой машины. Я закрыл все брандмауэры на моем Mac и все, что могло блокировать соединение. Я прекрасно могу подключиться к MongoDB, работающему на другом порту, и к любому другому приложению, ssh - к моему macbook и т. Д., Но я не могу подключиться к RabbitMQ (даже когда я изменяю порт, на котором он работает). Когда я запускаю nmapLinux, чтобы проверить, открыт ли соответствующий порт на моем 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-serverв system preferences -> security -> firewall -> advancedсписок приложений, чтобы на всякий случай разрешить все входящие соединения, но это не помогло. Любая идея, как заставить порт быть открытым для доступа к сети с другого компьютера в локальной сети? Когда я делаю это наоборот (установите rabbitmq на Linux и подключитесь к нему с Mac), он работает нормально ..

Kreeki
источник

Ответы:

18

Когда я установил RabbitMQ в Mac OS X через brew, у меня возникла та же проблема с портом 5672, открытым только на localhost.

Оказалось, что файл /usr/local/etc/rabbitmq/rabbitmq-env.confсодержит запись для NODE_IP_ADDRESSпривязки его только к localhost. Удаление NODE_IP_ADDRESSзаписи из конфигурации связывает порт со всеми сетевыми интерфейсами .

dorzey
источник
5

Кажется, демон привязывает 127.0.0.1 вместо 0.0.0.0, вы можете проверить это с помощью инструмента netstat

Хосе
источник
3

То, что работало для меня, было комбинацией обоих предыдущих ответов.

Сделайте так, чтобы ваш /usr/local/etc/rabbitmq/rabbitmq-env.conf выглядел так:

CONFIG_FILE = / USR / местные / и т.д. / RabbitMQ / RabbitMQ

NODE_IP_ADDRESS = 0.0.0.0

NODENAME = кролик @ локальный

(Если я полностью удалю запись NODE_IP_ADDRESS, rabbitmq выдаст мне ошибки)

Роб Карпентер
источник
0

какую учетную запись вы используете для подключения к RabbitMQ. Если вы используете гостевую учетную запись. Это может помочь

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

Shuliyey
источник
1
Цель SU - создать базу знаний, а не набор ссылок на ответы в других местах. Внешние ссылки могут сломаться, и в этом случае ваш ответ не будет иметь значения. Пожалуйста,
включите