为RabbitMQ配置SSL

1. 安装 OpenSSL

从 OpenSSL 的官方网站(https://www.openssl.org/)下载 OpenSSL 工具的 Windows 版本,并安装。

2. 创建 SSL 证书和私钥

执行以下命令以生成私钥文件(.key)和证书签名请求文件(.csr):

bash 复制代码
openssl req -newkey rsa:2048 -nodes -keyout your_private_key.key -out your_csr_file.csr

在执行此命令时,你需要回答一些关于证书的问题。最重要的是 Common Name (CN),它通常是你的 RabbitMQ 服务器的主机名。

Country Name (2 letter code) [AU]: CN

State or Province Name (full name) [Some-State]: JS

Locality Name (eg, city) []: NJ

Organization Name (eg, company) [Internet Widgits Pty Ltd]: MyOrg

Organizational Unit Name (eg, section) []: MyDep

Common Name (e.g. server FQDN or YOUR name) []: CUS

Email Address []: ******@hotmail.com

使用以下命令生成自签名证书:

bash 复制代码
openssl x509 -req -in your_csr_file.csr -signkey your_private_key.key -out your_cert_file.pem
3. 配置 RabbitMQ 使用 SSL

在 RabbitMQ 配置文件(rabbitmq.config或者advanced.config)中,添加 SSL 相关配置。示例配置如下:

该文件通常在这里:C:\Users\user_name\AppData\Roaming\RabbitMQ

erlang 复制代码
[
  {rabbit, [
    {ssl_listeners, [5671]},
    {ssl_options, [
      {cacertfile,"path/to/your_csr_file.csr"},
      {certfile,"path/to/your_cert_file.pem"},
      {keyfile,"path/to/your_private_key.key"},
      {verify,verify_peer},
      {fail_if_no_peer_cert,true}
    ]}
  ]}
].

确保替换上述示例中的路径为你生成的证书和私钥文件的实际路径。

备注\]: 我不太确定 cacertfile 后面应该填什么,似乎填csr或者key都没有什么影响。有清楚的同学欢迎在评论区告诉我。谢谢。 ###### 4. 重启 RabbitMQ 在 RabbitMQ 配置更改后,重启 RabbitMQ 服务以使更改生效。

相关推荐
往事随风去3 天前
架构师必备思维:从“任务队列”到“事件广播”,彻底吃透消息队列两大设计模式
消息队列·rabbitmq
虫小宝3 天前
返利app的消息队列架构:基于RabbitMQ的异步通信与解耦实践
分布式·架构·rabbitmq
无缘之缘3 天前
SpringBoot整合RabbitMQ
spring boot·rabbitmq·java-rabbitmq
娅娅梨4 天前
HarmonyOS-ArkUI Web控件基础铺垫7-HTTP SSL认证图解 及 Charles抓包原理 及您为什么配置对了也抓不到数据
http·华为·ssl·harmonyos
葵野寺4 天前
【RelayMQ】基于 Java 实现轻量级消息队列(九)
java·开发语言·rabbitmq·java-rabbitmq
Cxzzzzzzzzzz5 天前
RabbitMQ 在实际开发中的应用场景与实现方案
分布式·rabbitmq
影子24015 天前
java jdbc连接sqlserver2008R2版本数据库报错,驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接
java·数据库·ssl
优秀的老黄5 天前
Docker部署RabbitMQ
linux·运维·docker·中间件·容器·centos·rabbitmq
java1234_小锋5 天前
RabbitMQ如何实现消息的持久化?
java·rabbitmq·java-rabbitmq
土星碎冰机5 天前
数据库开启ssl
数据库·网络协议·ssl