当前位置: 首页 > news >正文

RabbitMq启用TLS

Windows环境

查看配置文件的位置

  • 选择使用的节点
    在这里插入图片描述
  • 查看当前节点配置文件的配置
    在这里插入图片描述

配置TLS

  1. 将证书放到同配置相同目录中
    在这里插入图片描述
  2. 编辑配置文件添加TLS相关配置
    在这里插入图片描述
[{ssl, [{versions, ['tlsv1.2']}]},{rabbit, [{ssl_listeners, [5671]},{ssl_options, [{cacertfile,"C:/Users/17126/AppData/Roaming/RabbitMQ/ssl/klca/cacert.pem"},{certfile,"C:/Users/17126/AppData/Roaming/RabbitMQ/ssl/server/cert.pem"},{keyfile,"C:/Users/17126/AppData/Roaming/RabbitMQ/ssl/server/key.pem"},{depth, 2},{verify,verify_peer},{honor_cipher_order,true},{honor_ecc_order,      true},{fail_if_no_peer_cert,false},{versions, ['tlsv1.2']},{ciphers, [ "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384","TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256","TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384","TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256","TLS_DHE_RSA_WITH_AES_256_GCM_SHA384","TLS_DHE_RSA_WITH_AES_128_GCM_SHA256","TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384","TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256","TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384","TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256","TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA","TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA","TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA","TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA"]}      ]}]}
].

重启服务

在这里插入图片描述


Linux环境 (使用docker)

拉取RabbitMq镜像

docker pull rabbitmq:3.11.2-management

在这里插入图片描述

在宿主机创建Rabbitmq容器配置挂载目录

在/etc目录下创建rabbitmq目录
cd /etc
mkdir rabbitmq

在这里插入图片描述

启动Rabbitmq镜像

docker run --name rabbitmq -d -p 15672:15672 -p 5672:5672 -p 5671:5671 -v /etc/rabbitmq:/etc/rabbitmq 031f07386589

查看启动状态

docker ps 

在这里插入图片描述

开启Rabbitmq页面管理插件

  • 进入容器
docker exec -it 7c4548748ca9 /bin/bash
  • 开启web页面管理插件
rabbitmq-plugins enable rabbitmq_management
  • 增加新用户(RabbitMQ默认只有一个guest帐号,guest帐号只能在RabbitMQ安装服务器上登录,在其它服务器用guest登录提示User can only log in via localhost。)
#第一步:添加 admin 用户并设置密码
rabbitmqctl add_user admin 123456
#第二步:添加 admin 用户为administrator角色
rabbitmqctl set_user_tags admin administrator
#第三步:设置 admin 用户的权限,指定允许访问的vhost以及write/read
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
#第四步:查看vhost(/)允许哪些用户访问
rabbitmqctl list_permissions -p /
#第五步:查看用户列表
rabbitmqctl list_users
  • 退出容器
exit

配置TLS

  • 在宿主机与容器挂载目录中创建一个rabbitmq.conf 文件
touch rabbitmq.conf
  • 将证书文件放到同目录中(这里都放在了ssl文件夹中)
    在这里插入图片描述
  • 配置rabbitmq.conf文件
    在这里插入图片描述
listeners.ssl.default = 5671ssl_options.cacertfile=/etc/rabbitmq/ssl/klca/cacert.pem
ssl_options.certfile=/etc/rabbitmq/ssl/server/cert.pem
ssl_options.keyfile=/etc/rabbitmq/ssl/server/key.pemssl_options.verify=verify_peer
ssl_options.fail_if_no_peer_cert=false
ssl_options.depth=2
ssl_options.versions.1=tlsv1.2
ssl_options.honor_cipher_order=true
ssl_options.honor_ecc_order=truessl_options.ciphers.1 = TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
ssl_options.ciphers.2 = TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
ssl_options.ciphers.3 = TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
ssl_options.ciphers.4 = TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
ssl_options.ciphers.5 = TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
ssl_options.ciphers.6 = TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
ssl_options.ciphers.7 =  TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
ssl_options.ciphers.8 =  TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
ssl_options.ciphers.9 = TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
ssl_options.ciphers.10 = TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
ssl_options.ciphers.11= TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
ssl_options.ciphers.12 = TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA  

重启容器

docker restart 7c4548748ca9

访问web页面

在这里插入图片描述
看到5671端口已启用,说明可以使用ssl方式访问rabbitmq。


密码套件参考

密码套件
官方

http://www.lryc.cn/news/191914.html

相关文章:

  • CakePHP 3.x/4.x反序列化RCE链
  • 练习之C++[3]
  • [MT8766][Android12] 修改WIFI热点默认名称、密码、IP地址以及默认开启热点
  • 【嵌入式】堆栈与单片机内存
  • 十大排序算法Java实现及时间复杂度
  • [Go]配置国内镜像源
  • Java知识点补充
  • Webpack和JShaman相比有什么不同?
  • WEB应用程序编程接口API
  • 进阶JAVA篇- BigDecimal 类的常用API(四)
  • UE4 顶点网格动画播放后渲染模糊问题
  • centos 磁盘挂载与解挂
  • C语言 位操作
  • Go语言中入门Hello World以及IDE介绍
  • Java面试题-Java核心基础-第二天(基本语法)
  • Linux 部署 GitLab idea 连接
  • Java延迟队列——DelayQueue
  • Vulnhub系列靶机---Raven2
  • 设计模式-生成器模式
  • Nginx正向代理配置(http)
  • ARMv5架构对齐访问异常问题
  • Go中varint压缩编码原理分析
  • 在IDEA中如何用可视化界面操作数据库? 在idea中如何操作数据库? 在idea中如何像Navicat一样操作数据库?
  • 数据库安全-RedisHadoopMysql未授权访问RCE
  • 辅助驾驶功能开发-功能规范篇(27)-3-导航式巡航辅助NCA华为
  • 探索UI设计|栅格系统的深入分析和应用
  • AI 律助 Alpha GPT 线上实操发布会,重磅发布!
  • 【漏洞复现】安全云平台存在任意文件下载getshell
  • 【JUC】原子操作类及LongAddr源码分析
  • 203、RabbitMQ 之 使用 direct 类型的 Exchange 实现 消息路由 (RoutingKey)