|
|
6 днів тому | |
|---|---|---|
| backend | 6 днів тому | |
| frontend | 6 днів тому | |
| scripts | 6 днів тому | |
| DNS_GUIDE.md | 6 днів тому | |
| QUICKSTART.md | 6 днів тому | |
| README.md | 6 днів тому | |
| SERVICE.md | 6 днів тому | |
| install.sh | 6 днів тому |
基于 acme.sh 的 Web 界面 SSL 证书自动化管理工具,支持 Let's Encrypt 免费证书的申请、管理和自动续期。
后端:
前端:
cd ssl-manager/backend
# 配置淘宝 npm 镜像(加速下载)
npm config set registry https://registry.npmmirror.com
# 安装依赖
npm install
# 复制环境配置
cp .env.example .env
# 编辑配置
vim .env
# 启动服务
npm start
cd ssl-manager/frontend
# 配置淘宝 npm 镜像(加速下载)
npm config set registry https://registry.npmmirror.com
# 安装依赖
npm install
# 开发模式
npm run dev
# 生产构建
npm run build
# 添加执行权限
chmod +x scripts/auto-renew.sh
# 编辑 crontab
crontab -e
# 添加定时任务(每天凌晨执行)
0 0 * * * /root/.openclaw/workspace/ssl-manager/scripts/auto-renew.sh
# 服务端口
PORT=3000
# ACME 配置
ACME_PATH=/root/.acme.sh
CERT_DIR=/etc/ssl/certs
ACME_EMAIL=your-email@example.com
# 加密密钥(32 字符)
ENCRYPTION_KEY=your-secret-key-here
| 服务商 | 环境变量 |
|---|---|
| Cloudflare | CF_Key, CF_Email |
| 阿里云 | Ali_Key, Ali_Secret |
| 腾讯云 | Tencent_SecretId, Tencent_SecretKey |
| GoDaddy | GD_Key, GD_Secret |
| NameSilo | Namesilo_Key |
| Namecheap | Namecheap_ApiKey |
| DNSPod | DP_Id, DP_Key |
| AWS Route53 | AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY |
| Google Cloud | GCP_PROJECT |
| Azure DNS | AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET |
./scripts/start-ssl-manager.sh start不管你的域名在哪里注册(阿里云、腾讯云、Cloudflare、GoDaddy 等),在申请证书时会自动展示:
详见:DNS_GUIDE.md
ssl-manager/
├── backend/
│ ├── src/
│ │ ├── routes/ # API 路由
│ │ ├── services/ # 业务逻辑
│ │ ├── utils/ # 工具函数
│ │ └── index.js # 入口文件
│ ├── data/ # SQLite 数据库
│ └── .env # 环境配置
├── frontend/
│ ├── src/
│ │ ├── views/ # 页面组件
│ │ ├── components/ # 通用组件
│ │ ├── api/ # API 客户端
│ │ ├── stores/ # 状态管理
│ │ └── router/ # 路由配置
│ └── dist/ # 构建输出
├── scripts/
│ └── auto-renew.sh # 自动续期脚本
└── README.md
A: 检查域名 DNS 解析是否正确,确保服务器可访问 80 端口(HTTP-01)或 DNS API 凭证正确(DNS-01)。
A: 使用 whois 你的域名 命令查询,或在 SSL Manager 的 DNS 配置指南中查看各服务商的控制台链接。
A: 通常 1-10 分钟,取决于 TTL 设置和 DNS 服务商。
A: 检查 cron 服务是否运行,查看日志 /var/log/ssl-manager/renew.log。
A: 编辑 backend/src/services/acme-service.js 中的 DNS_PROVIDERS 对象。
MIT
开发: 小弟 👋
日期: 2026-04-07