#!/bin/bash # 生成自签名证书脚本 # 用于 OPENCLAW AKS 部署的 HTTPS 访问 set -e # 配置变量 DOMAIN="${1:-openclaw.yourdomain.com}" # 从命令行参数获取域名,默认为 openclaw.yourdomain.com NAMESPACE="${2:-openclaw}" # Kubernetes 命名空间 SECRET_NAME="${3:-openclaw-tls}" # Kubernetes Secret 名称 CERT_DIR="./certs" DAYS_VALID=365 # 证书有效期(天) echo "==========================================" echo "生成自签名证书 for OPENCLAW" echo "==========================================" echo "域名: $DOMAIN" echo "命名空间: $NAMESPACE" echo "Secret 名称: $SECRET_NAME" echo "==========================================" # 创建证书目录 mkdir -p "$CERT_DIR" # 生成私钥 echo "1. 生成私钥..." openssl genrsa -out "$CERT_DIR/tls.key" 2048 # 生成证书签名请求 (CSR) echo "2. 生成证书签名请求..." openssl req -new -key "$CERT_DIR/tls.key" -out "$CERT_DIR/tls.csr" \ -subj "/C=CN/ST=Beijing/L=Beijing/O=OpenClaw/CN=$DOMAIN" # 生成自签名证书 echo "3. 生成自签名证书..." openssl x509 -req -days $DAYS_VALID -in "$CERT_DIR/tls.csr" -signkey "$CERT_DIR/tls.key" \ -out "$CERT_DIR/tls.crt" \ -extensions v3_req \ -extfile <(cat <