Merhaba,
RabbitMQ uygulamasında listener port non-secure 5672 portunu kullanmaktadır. Bu listener portu secure olan 5671 yapıp ssl ile gerekli config ayarlarını aşağıda yapacağız.
Öncelikle ssl sertifikamızın olmadığını varsayarak sıfırdan sertifika üreteceğiz. Bunun için ben ubuntu server üzerinde openssl kullanıyorum. Kurulumunu ayrıca aşağıdaki komutla yapabilirsiniz
sudo apt install openssl
SSL Sertifika üretmek için sunucuda aşağıdaki adımları uyguluyoruz
mkdir -p ~/rabbitmq-ssl
cd ~/rabbitmq-ssl
CA (Sertifika Otoritesi) oluştur
openssl genrsa -out ca.key 2048
openssl req -x509 -new -nodes -key ca.key -sha256 -days 3650 -out ca.crt \
-subj "/C=TR/ST=Istanbul/O=MyRabbitMQ CA/CN=MyRootCA"
Sunucu (server) için anahtar ve CSR (Certificate Signing Request)
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr \
-subj "/C=TR/ST=Istanbul/O=MyRabbitMQ Server/CN=localhost"
Sunucu sertifikasını CA ile imzala
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial \
-out server.crt -days 365 -sha256
Sertifikaları RabbitMQ için uygun dizine taşı
sudo mkdir -p /etc/rabbitmq/ssl
sudo cp server.crt server.key ca.crt /etc/rabbitmq/ssl/
sudo chown -R rabbitmq:rabbitmq /etc/rabbitmq/ssl
RabbitMQ Konfigürasyonunu Yap
/etc/rabbitmq/rabbitmq.conf dosyayı nano yada vim ile aç, dosya yoksa oluştur ve aşağıdaki kodları ekle.
listeners.ssl.default = 5671
ssl_options.cacertfile = /etc/rabbitmq/ssl/ca.crt
ssl_options.certfile = /etc/rabbitmq/ssl/server.crt
ssl_options.keyfile = /etc/rabbitmq/ssl/server.key
ssl_options.verify = verify_none
ssl_options.fail_if_no_peer_cert = false
RabbitMQ’yu Yeniden Başlat
sudo systemctl restart rabbitmq-server
Openssl ile Test Etme
openssl s_client -connect localhost:5671 -CAfile /etc/rabbitmq/ssl/ca.crt