RabbitMQ.SSL - nagaevkirill/WIKI GitHub Wiki
-
выпустить самоподписанные сертификаты через 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