10

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

4 ответа4

16

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .