RabbitMQ配置SSL证书

server/2025/2/22 22:00:36/

配置阿里云服务器RabbitMQ-SSL证书【windows】

文章目录

  • 配置阿里云服务器RabbitMQ-SSL证书【windows】
    • 1. 证书下载
    • 2. 系统中添加证书(不知道是不是必要的)
    • 3. OpenSSL下载
    • 4. ca、server证书及私钥提取
    • 5. RabbitMQ-SSL证书配置
    • 6. 参考博客

1. 证书下载

  1. 进入阿里云服务器平台,在左侧列表搜索SSL找到数字证书管理服务(原SSL证书)

  2. 进入数字证书管理服务后,在左侧证书管理找到SSL证书管理

    image-20250214155616040

  3. 进入SSL证书管理界面找到对应的证书,点击更多找到并进入下载界面

    image-20250214155738345

  4. 找到对应的证书格式点击下载(本文选用IIS服务器的pfx格式证书),下载后所得文件如下所示,包含pfx证书文件txt密码文件

    image-20250214155950591

2. 系统中添加证书(不知道是不是必要的)

  1. 在服务器上使用Win+R组合键,打开运行对话框,输入mmc

  2. 在mmc控制台,添加证书单元

    • 控制台顶部菜单栏:

      image-20250214161646735

    • 添加/删除管理单元对话框,从左侧可用的管理单元列表中选择证书,单机添加

      image-20250214161819636

      • 证书管理单元对话框,选择计算机账户,单击下一步
      • 选择计算机对话框,选择本地计算机(运行此控制台的计算机),单击完成
      • 添加或删除管理单元对话框,单击确定
    • 在控制台左侧导航栏,展开控制台根节点 > 证书(本地计算机),然后将光标放置在个人并单击鼠标右键,选择所有任务 > 导入

      image-20250214162139244

    • 根据对话框提示,完成证书导入向导。

      • 欢迎使用证书导入向导:单击下一步
      • 要导入的文件对话框:单击浏览,打开PFX格式的证书文件,单击下一步
      • 在打开文件时,您必须先将文件类型设置为所有文件(*),然后再选择证书文件**(.pfx)**
    • 私钥保护:打开TXT格式的私钥文件,复制文件内容,并将内容粘贴在密码文本框,单击下一步

    • 证书存储:选中根据证书类型,自动选择证书存储,单击下一步

    • 正在完成证书导入向导:单击完成

    • 收到导入成功提示后,单击确定

3. OpenSSL下载

本文采用OpenSSL3版本无法正确提取证书,根据报错信息应该是有旧版加密算法,因此本文最终采用 OpenSSL1.1.1k版本成功提取

  1. OpenSSL1.1.1k打包如下:

    通过网盘分享的文件:OpenSSL-Win64.rar
    链接: https://pan.baidu.com/s/1A1LF8kIHdttpAod5KtAudg 提取码: j9vp

  2. 下载后复制bin目录路径地址,添加至系统变量Path中

  3. cmd进入命令行,输入openssl version测试是否配置成功,如有如下输出则表示安装及配置成功

    image-20250214163306977

4. ca、server证书及私钥提取

阿里云中下载pfx证书。使用如下的代码转化成Rabbitmq需要配置的证书:

  1. 提取ca证书:

    openssl pkcs12 -in ‪证书存储路径/xxx.pfx -nodes -password pass:证书密码 -nokeys -cacerts -out xxx_cacert.pem

  2. 提取server证书:

    openssl pkcs12 -in 证书存储路径/xxx.pfx -nodes -password pass:证书密码 -nokeys -clcerts -out xxx_cert.pem

  3. 提取私钥:

    openssl pkcs12 -in 证书存储路径/xxx.pfx -nodes -password pass:证书密码 -passout pass:证书密码 -nocerts -out xxx_private_key.pem

注意:

  1. 证书存储路径,为实际阿里云服务器平台下载的.pfx证书文件路径,windows系统中将路径中的/替换为\//
  2. 证书密码为所下载证书密码文件pfx-password.txt中的密码;
  3. -out后面均为输出文件路径,pem格式,文件名自定义。

5. RabbitMQ-SSL证书配置

C:\Users\Administrator\AppData\Roaming\RabbitMQ路径下找到advance.config文件

image-20250214170637790

advance.config内需要配置的内容:

[{rabbit, [{ssl_listeners, [5671]},{ssl_options, [{cacertfile,"C:\\Users\\Administrator\\17129560_cacert.pem"},{certfile,  "C:\\Users\\Administrator\\17129560_cert.pem"},{keyfile,   "C:\\Users\\Administrator\\17129560_private_key.pem"},{verify,verify_peer},{fail_if_no_peer_cert,false}]}]},{rabbitmq_web_stomp,[{ssl_config, [{port,       15673},{backlog,    1024},{cacertfile, "C:\\Users\\Administrator\\17129560_cacert.pem"},{certfile,   "C:\\Users\\Administrator\\17129560_cert.pem"},{keyfile,    "C:\\Users\\Administrator\\17129560_private_key.pem"},{password,   "bcx2txee"}]}]}
].

保存后重启rabbitmq服务,再进入rabbitmq管理界面,可以看到如下:

image-20250214171220761

6. 参考博客

环境篇-Windows下安装OpenSSL

[Rabbitmq Web Stomp Plugin 启用SSL](https://www.cnblogs.com/webdep/articles/13926229.html)


http://www.ppmy.cn/server/169181.html

相关文章

解析浏览器中JavaScript与Native交互原理:以WebGPU为例

引言 随着Web应用复杂度的提升,开发者对浏览器访问本地硬件能力的需求日益增长。然而,浏览器必须在开放性与安全性之间找到平衡——既不能放任JavaScript(JS)随意操作系统资源,又要为高性能计算、图形渲染等场景提供支…

哈希:LeetCode49. 字母异位词分组 128.最长连续序列

49. 字母异位词分组 给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs ["eat", "tea", "tan", "ate",…

华纳云:渗透测试与漏洞扫描有什么区别?

渗透测试和漏洞扫描是两种不同的安全评估方法,它们在目的、方法和结果上有明显区别。下面我将详细解释两者的主要区别。 1. 目的与目标 渗透测试:渗透测试的目的是模拟黑客攻击,通过主动尝试突破系统的安全防护,评估系统、应用程序…

一个根据输入内容过滤下拉选的组件

1.element的select自定义过滤不是很灵&#xff0c;使用了input和dropdown 组件 <template><div class"autocomplete-wrapper"><!-- 使用 el-input 组件 --><el-inputv-model"inputValue"input"handleInput"placeholder&q…

React生产环境下使用mock.js

最近项目中有个需求,甲方要求在生产环境中使用mock.js数据展示前端项目&#xff0c;因为后端接口暂时没有。我的项目是通过vite构建的&#xff0c;前端项目在打包后一般不会将mock代码数据打包到dist文件夹中进而也不会调用mock数据&#xff0c;所以导致前端项目部署到nginx上后…

Rook-ceph(1.92最新版)

安装前准备 #确认安装lvm2 yum install lvm2 -y #启用rbd模块 modprobe rbd cat > /etc/rc.sysinit << EOF #!/bin/bash for file in /etc/sysconfig/modules/*.modules do[ -x \$file ] && \$file done EOF cat > /etc/sysconfig/modules/rbd.modules &l…

【Spring详解一】Spring整体架构和环境搭建

一、Spring整体架构和环境搭建 1.1 Spring的整体架构 Spring框架是一个分层架构&#xff0c;包含一系列功能要素&#xff0c;被分为大约20个模块 Spring核心容器&#xff1a;包含Core、Bean、Context、Expression Language模块 Core &#xff1a;其他组件的基本核心&#xff…

【设计模式】 代理模式(静态代理、动态代理{JDK动态代理、JDK动态代理与CGLIB动态代理的区别})

代理模式 代理模式是一种结构型设计模式&#xff0c;它提供了一种替代访问的方法&#xff0c;即通过代理对象来间接访问目标对象。代理模式可以在不改变原始类代码的情况下&#xff0c;增加额外的功能&#xff0c;如权限控制、日志记录等。 静态代理 静态代理是指创建的或特…