BRIDGE API - RabbitMQ
Configurar servidor RabbitMQ para manejar conexiones TLS



© 2024 Napse. Todos los derechos reservados.



Fecha

Versión

Descripción

Autor

 

1.0Creación del documento







1-Alcance

El objetivo del presente documento es detallar los pasos para que un servicio RabbitMQ instalado en un server maneje conexiones TLS, con el objetivo de encriptar el tráfico de la conexión entre el servidor RabbitMQ y las aplicaciones clientes que utilicen los servicios expuestos por dicho servidor.

No está contemplado en este documento la instalación de RabbitMQ ni los utilitarios, sólo se detalla el procedimiento.

2-Referencias

  1. RabbitMQ - TLS Support
  2. RabbitMQ - Troubleshooting TLS-enabled Connections
  3. TLS/SSL Certificate Generator

3-Estado del servidor Rabbit

cd "C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.4\sbin"
 
rabbitmq-diagnostics status


Config files
 
* c:/RabbitMQ/rabbitmq.conf


Log file(s)
 
* c:/RabbitMQ/log/rabbit@vm-rabbit.log
* c:/RabbitMQ/log/rabbit@vm-rabbit_upgrade.log


rabbitmq-diagnostics listeners
Asking node rabbit@vm-rabbit to report its protocol listeners ...
Interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0
Interface: 0.0.0.0, port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0
Interface: [::], port: 15672, protocol: http, purpose: HTTP API
Interface: 0.0.0.0, port: 15672, protocol: http, purpose: HTTP API


Notar que para el protocolo amqp no figura 'ssl' ni 'tls' y el puerto es el 5672


4-Generación de certificados (opcional)

mkdir rabbitCerts
cd rabbitCerts/
$ git clone https://github.com/michaelklishin/tls-gen tls-gen
cd tls-gen/basic
make PASSWORD=Nosotros123
cd result
ls -l
   -rw-rw-r-- 1196 ca_certificate.pem
   -rw-rw-r-- 1834 ca_key.pem
   -rw-rw-r-- 1155 client_certificate.pem
   -rw-rw-r-- 2413 client_key.p12
   -rw-rw-r-- 1858 client_key.pem
   -rw-rw-r-- 1245 server_certificate.pem
   -rw-rw-r-- 2477 server_key.p12
   -rw-rw-r-- 1858 server_key.pem


5-Archivo de configuración de RabbitMQ


6-Reinicio del servicio RabbitMQ y verificación del estado

rabbitmq-diagnostics listeners
Asking node rabbit@vm-rabbit to report its protocol listeners ...

Interface: [::], port: 15672, protocol: https, purpose: HTTP API over TLS (HTTPS)
Interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0
Interface: 0.0.0.0, port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0
Interface: [::], port: 5671, protocol: amqp/ssl, purpose: AMQP 0-9-1 and AMQP 1.0 over TLS
Interface: 0.0.0.0, port: 5671, protocol: amqp/ssl, purpose: AMQP 0-9-1 and AMQP 1.0 over TLS



7-Configuración de Rabbit en Bridge Api Central


8-Reinicio del servicio de Bridge Api Central y verificación del la conexión con RabbitMQ