测试环境ubuntu 16.04
rabbitmq-server 3.5.7
openssl 1.0.2g
安装openssl1sudo apt-get install openssl
生成证书
从网络获取生成证书工具:1git clone https://github.com/Berico-Technologies/CMF-AMQP-Configuration.git && cd CMF-AMQP-Configuration/ssl
生成证书文件:1
2
3sh setup_ca.sh {your-ca-file-name}
sh make_server_cert.sh {your-hostname} {passwd}
sh create_client_cert.sh {your-client-name} {passwd}
完成后会在当前目录生成 ca server client 文件夹, 里面是各自的证书文件;
服务端配置
服务端需要上面生成的 ca 和 server 文件夹, 拷贝到/etc/rabbitmq/ssl 目录下, 如果此目录不存在就手动创建.
修改 /etc/rabbitmq/rabbitmq.config 文件, 添加以下内容, 注意替换其中的 {your-hostname}, 如果此文件不存在则直接创建:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15[
{ssl, [{versions, ['tlsv1.2', 'tlsv1.1']}]},
{rabbit, [
{tcp_listeners, [5672]},
{ssl_listeners, [5671]},
{ssl_options, [
{cacertfile,"/etc/rabbitmq/ssl/ca/cacert.pem"},
{certfile,"/etc/rabbitmq/ssl/server/{your-hostname}.cert.pem"},
{keyfile,"/etc/rabbitmq