Otwórz port 5672 / tcp, aby uzyskać dostęp do RabbitMQ na komputerze Mac

12

Mam RabbitMQ w najnowszej wersji zainstalowanej na moim komputerze Mac z domyślną konfiguracją, a kiedy uzyskuję do niego dostęp z lokalnego hosta, nie ma żadnego problemu. Ale dziś buduję maszynę z linuksem w sieci lokalnej i nie mogę w żaden sposób połączyć się z moim serwerem RabbitMQ zdalnie z tej maszyny. Wyłączyłem wszystkie zapory ogniowe na komputerze Mac i wszystko, co mogło zablokować połączenie. Jestem w stanie połączyć się z MongoDB działającym na innym porcie i z dowolną inną aplikacją, ssh na moim Macbooku i tak dalej, ale nie mogę się połączyć z RabbitMQ (nawet gdy zmienię port, na którym działa). Kiedy uruchamiam nmapna systemie Linux, aby sprawdzić, czy odpowiedni port jest otwarty na moim komputerze Mac, otrzymuję:

>> 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

Ale kiedy robię to samo na komputerze 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

Dodałem regułę ipfwręcznie i dodałem rabbitmq-serverdo system preferences -> security -> firewall -> advancedlisty aplikacji, aby na wszelki wypadek zezwalać na wszystkie połączenia przychodzące, ale to nie pomogło. Masz pomysł, jak zmusić port do otwarcia w celu uzyskania dostępu do sieci z innego komputera w sieci lokalnej? Kiedy robię to na odwrót (zainstaluj rabbitmq na Linuksie i łączę się z nim z Maca), działa dobrze.

Kreeki
źródło

Odpowiedzi:

18

Kiedy zainstalowałem RabbitMQ na Mac OS X, przez brew, miałem ten sam problem z portem 5672 otwartym tylko na localhost.

Okazało się, że plik /usr/local/etc/rabbitmq/rabbitmq-env.confzawiera wpis umożliwiający NODE_IP_ADDRESSpowiązanie go tylko z hostem lokalnym. Usunięcie NODE_IP_ADDRESSwpisu z konfiguracji wiąże port ze wszystkimi interfejsami sieciowymi .

dorzey
źródło
5

Wygląda na to, że demon wiąże 127.0.0.1 zamiast 0.0.0.0, możesz to sprawdzić za pomocą narzędzia netstat

Jose
źródło
3

Dla mnie zadziałało połączenie obu wcześniejszych odpowiedzi.

Niech twój /usr/local/etc/rabbitmq/rabbitmq-env.conf wygląda następująco:

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

NODE_IP_ADDRESS = 0.0.0.0

NODENAME = królik @ localhost

(Jeśli całkowicie usunę wpis NODE_IP_ADDRESS, rabbitmq daje mi błędy)

Rob Carpenter
źródło
0

jakiego konta używasz do łączenia się z RabbitMQ. Jeśli korzystasz z konta gościa. To może pomóc

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

Shuliyey
źródło
1
Celem SU jest zbudowanie bazy wiedzy zamiast zbioru linków do odpowiedzi w innych miejscach. Linki zewnętrzne mogą się zepsuć, w takim przypadku odpowiedź nie miałaby żadnej wartości. Podaj istotne informacje w swojej odpowiedzi i użyj linku do przypisania i dalszego czytania.
fixer1234