为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 服务以使更改生效。

相关推荐
程序员mine14 天前
HTTPS-TLS加密与证书完全指南(中)
网络协议·https·ssl
JLWcai2025100914 天前
铸造领域树脂砂轮|金利威多场景解决方案,20 + 配方覆盖全需求
mongodb·zookeeper·eureka·spark·rabbitmq·memcached·storm
风吹夏回14 天前
RabbitMQ 核心术语 + Python pika 方法完整讲解
分布式·python·rabbitmq
风吹夏回14 天前
RabbitMQ 三种模式入门:HelloWorld、WorkQueue、PubSub
分布式·rabbitmq·ruby
cheems952714 天前
[RabbitMQ高级特性] 消息确认机制:从 Ready / Unacked 到 basicAck、basicReject、basicNack 的底层拆解
分布式·rabbitmq·ruby
开发者联盟league14 天前
pnpm install报错ERR_SSL_PACKET_LENGTH_TOO_LONG问题解决
网络·网络协议·ssl
北极熊~~14 天前
win上编译带ssl的paho-cpp库
mqtt·ssl·源码编译mqtt库
GlobalSign数字证书15 天前
SSL证书过期致业务宕机?企业证书管理三大痛点与自动化方案
网络协议·自动化·ssl
GlobalSign数字证书15 天前
Nginx配置SSL证书教程:从零到HTTPS的完整部署指南
nginx·https·ssl
半夜修仙15 天前
延迟队列的介绍及常见问题
java·数据库·中间件·rabbitmq