Tenho o RabbitMQ em sua versão mais recente instalado no meu Mac com configuração padrão e quando o acesso a partir do host local não há problema algum. Mas hoje eu construo uma máquina Linux na rede local e de jeito nenhum consigo me conectar ao meu servidor RabbitMQ remotamente a partir dessa máquina. Desliguei todos os firewalls do meu Mac e tudo que pudesse bloquear a conexão. Sou perfeitamente capaz de me conectar ao MongoDB rodando em uma porta diferente e a qualquer outro aplicativo, ssh ao meu macbook e assim por diante, mas não consigo me conectar ao RabbitMQ (mesmo quando mudo a porta em que ele está rodando). Quando executo nmap
no Linux para verificar se a porta apropriada está aberta no meu Mac, recebo o seguinte:
>> 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
Mas quando faço a mesma coisa no meu 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
Adicionei a regra ipfw
manualmente e adicionei rabbitmq-server
à system preferences -> security -> firewall -> advanced
lista de aplicativos para permitir todas as conexões de entrada, apenas por precaução, mas não ajudou. Alguma ideia de como forçar a abertura da porta para acesso à rede de outro computador na rede local? Quando faço o contrário (instalo o RabbitMQ no Linux e conecto-o a partir do Mac), ele funciona bem.
Responder1
Quando instalei o RabbitMQ no Mac OS X, via brew, tive o mesmo problema com a porta 5672 aberta apenas no localhost.
Descobriu-se que o arquivo /usr/local/etc/rabbitmq/rabbitmq-env.conf
continha uma entrada para NODE_IP_ADDRESS
vinculá-lo apenas ao localhost. Remover a NODE_IP_ADDRESS
entrada da configuração vincula a porta atodas as interfaces de rede.
Responder2
Parece que o daemon está vinculando 127.0.0.1 em vez de 0.0.0.0, você pode verificar usando a ferramenta netstat
Responder3
O que funcionou para mim foi uma combinação de ambas as respostas anteriores.
Faça sua /usr/local/etc/rabbitmq/rabbitmq-env.conf
aparência assim:
#rabbitmq-env.conf
CONFIG_FILE=/usr/local/etc/rabbitmq/rabbitmq
NODE_IP_ADDRESS=0.0.0.0
NODENAME=rabbit@localhost
Se eu remover a NODE_IP_ADDRESS
entrada completamente, o RabbitMQ apresentará erros.
Responder4
qual conta você está usando para se conectar ao RabbitMQ. Se você estiver usando uma conta de convidado. Isso pode ajudar