Skip to content

RabbitMQ.SSL

nagaevkirill edited this page Nov 7, 2024 · 1 revision
  • выпустить самоподписанные сертификаты через tls-gen или через certbot (python) сервис letencrypt

  • обязательно использовать для конфигурирования RabbitMQ конфиги нового формата, для этого создать в /etc/rabbitmq/rabbitmq.conf. Новый тип конфигов позволяет проверить корректность настроек SSL на этапе запуска приложения. Если при запуске возникают ошибки, то увидеть их можно используя команду:

sudo journalctl -u rabbitmq-server -f
  • добавить в конфиг следующий код

listeners.ssl.default = 5671
ssl_options.cacertfile           = /etc/rabbitmq/certs/ca_certificate.pem
ssl_options.certfile             = /etc/rabbitmq/certs/server_mq1.nagayev.ru_certificate.pem
ssl_options.keyfile              = /etc/rabbitmq/certs/server_mq1.nagayev.ru_key.pem
ssl_options.verify               = verify_peer
ssl_options.fail_if_no_peer_cert = true
  • проверить, что у пользователя, под которым стартует rabbitmq (rabbitmq) есть права на чтения сертификатов и ключа.

  • проверить можно утилитой acl

sudo apt install acl
  • команда для проверки

getfacl /etc/rabbitmq/certs/ca_certificate.pem

Результат

root@mq1:~# getfacl /etc/rabbitmq/certs/ca_certificate.pem 
getfacl: Removing leading '/' from absolute path names
# file: etc/rabbitmq/certs/ca_certificate.pem
# owner: root
# group: rabbitmq
user::rw-
group::r--
other::r--
  • команда для установки прав

setfacl -m g:rabbitmq:r /etc/rabbitmq/certs/server_mq1.nagayev.ru_certificate.pem

Clone this wiki locally