기술나눔

RABBITMQ의 로컬 테스트 인증서 생성 스크립트

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

미니 프로그램은 wss 인터페이스에 접근해야 하기 때문에 테스트 환경을 https로 전환해야 합니다. 공식 문서를 읽어보니요.

RabbitMQ 웹 STOMP 플러그인 | RabbitMQ그 안에 이런 정보가 있어요

그런 다음 잠시 동안 GPT를 입력하고 요구 사항을 여러 번 입력하면 다음과 같은 스크립트가 생성됩니다.

생성_인증서.sh

  1. #!/bin/bash
  2. # 检查是否提供了IP地址
  3. if [ "$#" -ne 1 ]; then
  4. echo "Usage: $0 <IP_ADDRESS>"
  5. exit 1
  6. fi
  7. IP_ADDRESS=$1
  8. PASSWORD="changeme"
  9. # 创建必要的目录
  10. mkdir -p certs
  11. # 生成 CA 密钥
  12. openssl genrsa -des3 -passout pass:$PASSWORD -out certs/ca.key 2048
  13. # 生成 CA 证书
  14. openssl req -x509 -new -nodes -key certs/ca.key -sha256 -days 1024 -passin pass:$PASSWORD -out certs/ca_certificate.pem -subj "/CN=${IP_ADDRESS}"
  15. # 生成服务器密钥
  16. openssl genrsa -des3 -passout pass:$PASSWORD -out certs/server.key 2048
  17. # 生成服务器证书签名请求(CSR)
  18. openssl req -new -key certs/server.key -passin pass:$PASSWORD -out certs/server.csr -subj "/CN=${IP_ADDRESS}"
  19. # 创建一个配置文件用于扩展
  20. cat <<EOF > certs/openssl.cnf
  21. [ v3_ca ]
  22. basicConstraints = CA:TRUE
  23. [ v3_req ]
  24. basicConstraints = CA:FALSE
  25. subjectAltName = @alt_names
  26. [ alt_names ]
  27. IP.1 = ${IP_ADDRESS}
  28. EOF
  29. # 使用 CA 证书签署服务器证书
  30. 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
  31. # 转换服务器密钥为 PEM 格式
  32. openssl rsa -in certs/server.key -out certs/server_key.pem -passin pass:$PASSWORD -passout pass:$PASSWORD
  33. # 打印完成信息
  34. echo "Certificates and keys generated successfully in the 'certs' directory."
  35. echo "CA Certificate: certs/ca_certificate.pem"
  36. echo "Server Certificate: certs/server_certificate.pem"
  37. echo "Server Key: certs/server_key.pem"

WSL과 함께 우분투에서 사용됨
generate_cert.sh &lt;테스트 IP&gt;를 생성합니다.

그런 다음 RabbitMQ 서버의 log/db 디렉터리에 Rabbitmq.conf를 만듭니다.

첫 번째 그림의 내용을 붙여넣은 다음, RabbitMQ 서비스를 다시 시작한 다음, 관리 인터페이스를 확인하세요. https 포트 15673이 성공적으로 작동됩니다.