由于安全团队要求,需要给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
https://www.cnblogs.com/wyt007/p/9086250.html