Abra el puerto 5672 / tcp para acceder a RabbitMQ en Mac

12

Tengo RabbitMQ en su última versión instalada en mi Mac con configuración predeterminada y cuando accedo a él desde localhost no hay ningún problema. Pero hoy construyo una máquina Linux en la red local y de ninguna manera puedo conectarme a mi servidor RabbitMQ de forma remota desde esa máquina. Apagué todos los firewalls en mi Mac y todo lo que podría bloquear la conexión. Soy perfectamente capaz de conectarme a MongoDB ejecutándose en un puerto diferente y a cualquier otra aplicación, ssh a mi macbook, etc., pero no puedo conectarme a RabbitMQ (incluso cuando cambio el puerto se está ejecutando). Cuando ejecuto nmapen Linux para verificar si el puerto apropiado está abierto en mi Mac, obtengo esto:

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

Pero cuando hago lo mismo en mi 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

Agregué la regla ipfwmanualmente y agregué rabbitmq-servera la system preferences -> security -> firewall -> advancedlista de aplicaciones para permitir todas las conexiones entrantes por si acaso, pero no ayudó. ¿Alguna idea de cómo forzar la apertura del puerto para el acceso a la red desde otra computadora en la red local? Cuando lo hago al revés (instalo rabbitmq en linux y me conecto desde mac) funciona bien ...

Kreeki
fuente

Respuestas:

18

Cuando instalé RabbitMQ en Mac OS X, a través de brew, tuve el mismo problema con el puerto 5672 solo abierto en localhost.

Resultó que el archivo /usr/local/etc/rabbitmq/rabbitmq-env.confcontenía una entrada para NODE_IP_ADDRESSvincularlo solo a localhost. Eliminar la NODE_IP_ADDRESSentrada de la configuración vincula el puerto a todas las inferfaces de red .

dorzey
fuente
5

Parece que el demonio está vinculando 127.0.0.1 en lugar de 0.0.0.0, puede verificarlo usando la herramienta netstat

Jose
fuente
3

Lo que funcionó para mí fue una combinación de las dos respuestas anteriores.

Haga que su /usr/local/etc/rabbitmq/rabbitmq-env.conf se vea así:

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

NODE_IP_ADDRESS = 0.0.0.0

NODENAME = conejo @ localhost

(Si elimino la entrada NODE_IP_ADDRESS completamente, rabbitmq me da errores)

Rob Carpenter
fuente
0

¿Qué cuenta está utilizando para conectarse a RabbitMQ? Si está utilizando una cuenta de invitado. Esto puede ayudar

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

Shuliyey
fuente
1
El propósito de SU es construir una base de conocimiento en lugar de una colección de enlaces a respuestas en otros lugares. Los enlaces externos pueden romperse, en cuyo caso su respuesta no tendría valor. Por favor, incluya la información esencial en su respuesta y utilizar el enlace para su imputación y la lectura adicional ..
fixer1234