Tengo RabbitMQ en su última versión instalada en mi Mac con la configuración predeterminada y cuando accedo desde localhost no hay ningún problema. Pero hoy construyo una máquina Linux en la red local y no puedo conectarme a mi servidor RabbitMQ de forma remota desde esa máquina. Apagué todos los firewalls de mi Mac y todo lo que pudiera bloquear la conexión. Puedo conectarme perfectamente 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 en el que se ejecuta). Cuando ejecuto nmap
Linux para comprobar si el puerto apropiado está abierto en mi Mac, aparece 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é una regla ipfw
manualmente y la agregué rabbitmq-server
a system preferences -> security -> firewall -> advanced
la lista de aplicaciones para permitir todas las conexiones entrantes por si acaso, pero no ayudó. ¿Alguna idea de cómo forzar que el puerto esté abierto 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.
Respuesta1
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.conf
contenía una entrada para NODE_IP_ADDRESS
vincularlo solo a localhost. Eliminar la NODE_IP_ADDRESS
entrada de la configuración vincula el puerto atodas las interfaces de red.
Respuesta2
Parece que el demonio está vinculando 127.0.0.1 en lugar de 0.0.0.0, puedes verificarlo usando la herramienta netstat
Respuesta3
Lo que funcionó para mí fue una combinación de las dos respuestas anteriores.
Haz tu /usr/local/etc/rabbitmq/rabbitmq-env.conf
apariencia así:
#rabbitmq-env.conf
CONFIG_FILE=/usr/local/etc/rabbitmq/rabbitmq
NODE_IP_ADDRESS=0.0.0.0
NODENAME=rabbit@localhost
Si elimino la NODE_IP_ADDRESS
entrada por completo, Rabbitmq me da errores.
Respuesta4
¿Qué cuenta estás usando para conectarte a RabbitMQ? Si está utilizando una cuenta de invitado. Esto podría ayudar