Quais portas o RabbitMQ Server usa ou precisa abrir no firewall para um cluster de nós?
Meu /usr/lib/rabbitmq/bin/rabbitmq-env
é definido abaixo do qual suponho que sejam necessários (35197).
SERVER_ERL_ARGS="+K true +A30 +P 1048576 \
-kernel inet_default_connect_options [{nodelay,true}] \
-kernel inet_dist_listen_min 35197 \
-kernel inet_dist_listen_max 35197"
Não toquei no rabbitmq.config
para definir um costume, por tcp_listener
isso ele deve estar ouvindo o 5672 padrão.
Aqui estão as linhas relevantes do netstat:
tcp 0 0 0.0.0.0:4369 0.0.0.0:* LISTEN 728/epmd
tcp 0 0 0.0.0.0:35197 0.0.0.0:* LISTEN 5126/beam
tcp6 0 0 :::5672 :::* LISTEN 5126/beam
Minhas perguntas são:
para que outros nós possam se conectar ao cluster, todas as 3 portas 4369, 5672 e 35197 precisam estar abertas?
Por que o 5672 não está executando no tcp e não apenas no tcp6?
Respostas:
PORT 4369: Erlang utiliza um daemon de mapeador de portas (epmd) para resolução de nomes de nós em um cluster. Os nós devem poder alcançar um ao outro e o daemon do mapeador de portas para que o cluster funcione.
PORT 35197 definido por inet_dist_listen_min / max Os firewalls devem permitir que o tráfego nesse intervalo passe entre nós em cluster
Console de Gerenciamento RabbitMQ:
PORTA
5672
Porta principal RabbitMQ.Para um cluster de nós, eles devem estar abertos entre si em
35197
,4369
e5672
.Para todos os servidores que desejam usar a fila de mensagens, apenas
5672
é necessário.fonte
Quais portas o RabbitMQ está usando?
Padrão: 5672, o manual tem a resposta. É definido na
RABBITMQ_NODE_PORT
variávelhttps://www.rabbitmq.com/configure.html#define-environment-variables
O número pode ser diferente se alterado por alguém no arquivo de configuração rabbitmq:
Peça ao computador para lhe dizer:
Oh, olha, 5672 e 15672
Use netstat:
Oh, olhe 5672.
use lsof:
use o nmap de uma máquina diferente, descubra se o 5672 está aberto:
Tente conectar-se a uma porta manualmente com o telnet, 5671 está FECHADO:
Tente conectar-se a uma porta manualmente com o telnet, 5672 está ABERTO:
Verifique seu firewall:
Deve informar quais portas são abertas:
Reaplique seu firewall:
fonte
Para descobrir quais portas o rabbitmq usa :
Saídas:
Execute-os como root:
Mais sobre as opções de epmd.
fonte
lsof
é dolorosamente lento ... e requer privilégios de root. Você pode fazer o mesmo, muito mais rapidamente, comnetstat -an | egrep '\.(4369|25672).*LISTEN'
Acesso à porta
Firewalls e outras ferramentas de segurança podem impedir que o RabbitMQ se ligue a uma porta. Quando isso acontece, o RabbitMQ falha ao iniciar. Verifique se as seguintes portas podem ser abertas:
4369: epmd, um serviço de descoberta de pares usado por nós RabbitMQ e ferramentas CLI
5672, 5671: usado pelos clientes AMQP 0-9-1 e 1.0 sem e com TLS
25672: usado pela distribuição Erlang para comunicação entre nós e ferramentas CLI e é alocado a partir de um intervalo dinâmico (limitado a uma única porta por padrão, calculada como porta AMQP + 20000). Consulte o guia de rede para obter detalhes.
15672: clientes da API HTTP e rabbitmqadmin (apenas se o plug-in de gerenciamento estiver ativado)
61613, 61614: clientes STOMP sem e com TLS (apenas se o plug-in STOMP estiver ativado)
1883, 8883: (clientes MQTT sem e com TLS, se o plug-in MQTT estiver ativado
15674: Clientes STOMP-over-WebSockets (apenas se o plug-in Web STOMP estiver ativado)
15675: clientes MQTT sobre WebSockets (apenas se o plug-in MQTT da Web estiver ativado)
Documento de referência: https://www.rabbitmq.com/install-windows-manual.html
fonte