一、概述
由於安全團隊要求,需要給rabbitmq加上SSL,java代碼使用ssl秘鑰進行連接。
二、正式部署
環境說明:
操作系統 | ip | 主機名 | 配置 | rabbitmq版本 |
centos 6.9 | 192.168.31.7 | mq_01 | 1核2g | 3.8.2 |
centos 6.9 | 192.168.31.216 | mq_02 | 1核2g | 3.8.2 |
centos 6.9 | 192.168.31.214 | mq_03 | 1核2g | 3.8.2 |
環境是在上一篇文章基礎上配置ssl,鏈接如下:
https://www.cnblogs.com/xiao987334176/p/12304608.html
生成證書
網上有文章說,有一個github項目,可以一鍵生成證書,鏈接如下:
https://github.com/Berico-Technologies/CMF-AMQP-Configuration.git
但是生成的證書,使用代碼測試不通過。
因此,在github上面,找了一個rabbitmq ssl項目,里面有提供證書。直接使用里面的證書即可,代碼測試也可以通過。
鏈接如下:
https://github.com/Nepitwin/RabbitSSL
里面有提供Python腳本,里面有3個證書文件
ca_certificate.pem
client_certificate.pem
client_key.pem
接下來,我將這3個文件,加載到rabbitmq里面
配置rabbitmq
創建證書目錄
mkdir /etc/rabbitmq/cert
將3個證書文件,放到此目錄
修改配置文件
vi /etc/rabbitmq/rabbitmq.config
完整內容如下:
[ {rabbit, [ {ssl_listeners, [5671]}, {ssl_options, [{cacertfile,"/etc/rabbitmq/cert/ca_certificate.pem"}, {certfile,"/etc/rabbitmq/cert/client_certificate.pem"}, {keyfile,"/etc/rabbitmq/cert/client_key.pem"}, {verify,verify_peer}, {fail_if_no_peer_cert,true}]} ]} ].
重啟rabbitmq
/etc/init.d/rabbitmq-server restart
查看5671端口
命令行查看
登錄任意節點,使用命令行查看
# ss -tunlp|grep 5671 tcp LISTEN 0 128 :::5671 :::* users:(("beam.smp",27893,96))
mq后台頁面查看
登錄之后,點擊下面的Ports and contexts,就可以看到5671
本文參考鏈接:
https://blog.csdn.net/tiantang_1986/article/details/83996202