Відкритий порт 5672 / tcp для доступу до RabbitMQ на Mac


12

У мене в моїй 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

Але коли я роблю те саме, що і на моєму 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), він працює нормально.

Відповіді:


18

Коли я встановив RabbitMQ на Mac OS X через piw, у мене була така ж проблема з портом 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 / local / etc / rabbitmq / rabbitmq

NODE_IP_ADDRESS = 0.0.0.0

NODENAME = кролик @ localhost

(Якщо я видаляю запис NODE_IP_ADDRESS повністю rabbitmq, видає мені помилки)


0

який обліковий запис ви використовуєте для підключення до RabbitMQ. Якщо ви використовуєте гостьовий рахунок. Це може допомогти

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


1
Мета СУ - створити базу знань, а не колекцію посилань на відповіді деінде. Зовнішні посилання можуть розірватися, і в цьому випадку ваша відповідь не мала б значення. Будь ласка, включіть у свою відповідь важливу інформацію та скористайтеся посиланням для атрибуції та подальшого читання ..
fixer1234
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.