#!/bin/bash # Jarvis 证书申请与安装(acme.sh + 腾讯云 DNS) # 用法:上传到服务器后 chmod +x refresh_jarvis_cert.sh && ./refresh_jarvis_cert.sh # 若报 $'\r': command not found,先执行:sed -i 's/\r$//' refresh_jarvis_cert.sh set -e cd /root/project/acme/acme.sh # 1. 申请/续期证书(--force 强制续期;ECC 用 --keylength ec-256) # --dnssleep 120:添加 TXT 后等 2 分钟再让 CA 校验,避免「retryafter too large」因 DNS 未生效 ./acme.sh --dns dns_tencent --issue \ -d jarvis.van333.cn -d van333.cn \ --keylength ec-256 \ --dnssleep 120 \ --force \ --debug 2 # 2. 安装证书(--ecc 必须紧跟在 -d 域名后,避免 Unknown parameter) ./acme.sh --install-cert -d jarvis.van333.cn --ecc \ --key-file /opt/1panel/apps/openresty/openresty/www/common/ssl/jarvis.van333.cn.key \ --fullchain-file /opt/1panel/apps/openresty/openresty/www/common/ssl/jarvis.van333.cn/fullchain.cer \ --reloadcmd "docker restart openresty" # 3. 验证 echo "--- 证书文件 ---" ls -l /opt/1panel/apps/openresty/openresty/www/common/ssl/ ls -l /opt/1panel/apps/openresty/openresty/www/common/ssl/jarvis.van333.cn/ 2>/dev/null || true echo "--- 证书过期时间 ---" openssl x509 -in /opt/1panel/apps/openresty/openresty/www/common/ssl/jarvis.van333.cn/fullchain.cer -noout -enddate 2>/dev/null || true