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

RABBITMQ的本地测试证书生成脚本

由于小程序要求必须访问wss的接口,因此需要将测试环境也切换到https,看了下官方的文档

RabbitMQ Web STOMP Plugin | RabbitMQ里面有这个信息

然后敲打GPT一阵子,把要求输入几个来回,得到这样一个脚本:

generate_cert.sh

#!/bin/bash# 检查是否提供了IP地址
if [ "$#" -ne 1 ]; thenecho "Usage: $0 <IP_ADDRESS>"exit 1
fiIP_ADDRESS=$1
PASSWORD="changeme"# 创建必要的目录
mkdir -p certs# 生成 CA 密钥
openssl genrsa -des3 -passout pass:$PASSWORD -out certs/ca.key 2048# 生成 CA 证书
openssl req -x509 -new -nodes -key certs/ca.key -sha256 -days 1024 -passin pass:$PASSWORD -out certs/ca_certificate.pem -subj "/CN=${IP_ADDRESS}"# 生成服务器密钥
openssl genrsa -des3 -passout pass:$PASSWORD -out certs/server.key 2048# 生成服务器证书签名请求(CSR)
openssl req -new -key certs/server.key -passin pass:$PASSWORD -out certs/server.csr -subj "/CN=${IP_ADDRESS}"# 创建一个配置文件用于扩展
cat <<EOF > certs/openssl.cnf
[ v3_ca ]
basicConstraints = CA:TRUE[ v3_req ]
basicConstraints = CA:FALSE
subjectAltName = @alt_names[ alt_names ]
IP.1 = ${IP_ADDRESS}
EOF# 使用 CA 证书签署服务器证书
openssl x509 -req -in certs/server.csr -CA certs/ca_certificate.pem -CAkey certs/ca.key -CAcreateserial -out certs/server_certificate.pem -days 500 -sha256 -passin pass:$PASSWORD -extfile certs/openssl.cnf -extensions v3_req# 转换服务器密钥为 PEM 格式
openssl rsa -in certs/server.key -out certs/server_key.pem -passin pass:$PASSWORD -passout pass:$PASSWORD# 打印完成信息
echo "Certificates and keys generated successfully in the 'certs' directory."
echo "CA Certificate: certs/ca_certificate.pem"
echo "Server Certificate: certs/server_certificate.pem"
echo "Server Key: certs/server_key.pem"

在WSL的ubuntu里使用
generate_cert.sh <测试IP> 来生成

然后在RabbitMQ服务器的log/db同级目录下建立rabbitmq.conf

第一个张图片内容贴进去,然后重启rabbitMQ服务,再看管理界面,https的端口15673成功起来了
 

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

相关文章:

  • 记录些Redis题集(4)
  • JVM:垃圾回收器
  • Golang | Leetcode Golang题解之第228题汇总区间
  • 单目3D和bev综述
  • 每日Attention学习11——Lightweight Dilated Bottleneck
  • EM32DX-E4 IO 扩展模块
  • 【数据结构与算法】选择排序篇----详解直接插入排序和哈希排序【图文讲解】
  • SpringBoot实战:多表联查
  • 解决mysql,Navicat for MySQL,IntelliJ IDEA之间中文乱码
  • 虚拟环境操作
  • 企业网三层架构
  • node.js的安装及学习(node/nvm/npm的区别)
  • 性能优化篇:用WebSocket替代传统的http轮循
  • virtualbox的ubuntu默认ipv4地址为10.0.2.15的修改以及xshell和xftp的连接
  • Codeforces Round 957 (Div. 3)(A~D题)
  • fedora 40 安装拼音输入法
  • Chromium CI/CD 之Jenkins实用指南2024-如何创建新节点(三)
  • Git代码管理工具 — 3 Git基本操作指令详解
  • Linux——多线程(五)
  • 张量分解(4)——SVD奇异值分解
  • 第三方配件也能适配苹果了,iOS 18与iPadOS 18将支持快速配对
  • Docker 部署 Nginx 并在容器内配置申请免费 SSL 证书
  • 模型评估与选择
  • 有必要把共享服务器升级到VPS吗?
  • LLM代理应用实战:构建Plotly数据可视化代理
  • 大模型系列3--pytorch dataloader的原理
  • SQLServer 如何设置端口
  • 调整网络安全策略以适应不断升级的威胁形势
  • (leetcode学习)9. 回文数
  • QT VTK 简单测试工程