Ouvrez le port 5672 / tcp pour accéder à RabbitMQ sur Mac

12

J'ai RabbitMQ dans sa dernière version installée sur mon Mac avec la configuration par défaut et quand j'y accède depuis localhost, il n'y a aucun problème. Mais aujourd'hui, je construis une machine Linux sur un réseau local et je ne peux aucunement me connecter à mon serveur RabbitMQ à distance depuis cette machine. J'ai fermé tous les pare-feu sur mon Mac et tout ce qui pourrait éventuellement bloquer la connexion. Je suis parfaitement capable de me connecter à MongoDB fonctionnant sur un port différent et à n'importe quelle autre application, ssh à mon macbook et ainsi de suite, mais je ne peux pas me connecter à RabbitMQ (même lorsque je change de port). Lorsque je lance nmapsous Linux pour vérifier si le port approprié est ouvert sur mon Mac, j'obtiens ceci:

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

Mais quand je fais la même chose directement sur mon 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

J'ai ajouté la règle ipfwmanuellement et ajouté rabbitmq-serverà la system preferences -> security -> firewall -> advancedliste des applications pour autoriser toutes les connexions entrantes au cas où, mais cela n'a pas aidé. Une idée comment forcer le port à être ouvert pour l'accès au réseau à partir d'un autre ordinateur du réseau local? Quand je le fais dans l'autre sens (installez rabbitmq sur linux et connectez-vous à partir de mac) ça fonctionne bien ..

Kreeki
la source

Réponses:

18

Lorsque j'ai installé RabbitMQ sur Mac OS X, via brew, j'ai eu le même problème avec le port 5672 ouvert uniquement sur localhost.

Il s'est avéré que le fichier /usr/local/etc/rabbitmq/rabbitmq-env.confcontenait une entrée pour NODE_IP_ADDRESSle lier uniquement à localhost. La suppression de l' NODE_IP_ADDRESSentrée de la configuration lie le port à toutes les inferfaces réseau .

dorzey
la source
5

Il semble que le démon lie 127.0.0.1 au lieu de 0.0.0.0, vous pouvez le vérifier en utilisant l'outil netstat

Jose
la source
3

Ce qui a fonctionné pour moi était une combinaison des deux réponses précédentes.

Donnez à votre /usr/local/etc/rabbitmq/rabbitmq-env.conf la forme suivante:

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

NODE_IP_ADDRESS = 0.0.0.0

NODENAME = lapin @ localhost

(Si je supprime complètement l'entrée NODE_IP_ADDRESS, rabbitmq me donne des erreurs)

Rob Carpenter
la source
0

quel compte utilisez-vous pour vous connecter au RabbitMQ. Si vous utilisez un compte invité. Cela pourrait aider

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

Shuliyey
la source
1
L'objectif de SU est de construire une base de connaissances plutôt qu'une collection de liens vers des réponses ailleurs. Les liens externes peuvent se rompre, auquel cas votre réponse n'aurait aucune valeur. Veuillez inclure les informations essentielles dans votre réponse et utiliser le lien d'attribution et de lecture supplémentaire.
fixer1234