安装acme
#安装acme,此邮箱应该可任意
curl https://get.acme.sh | sh -s email=xxxx@qq.com
source ~/.bashrc
#配置cf账号key,需对应自己账号
export CF_Email="xxxx@qq.com"
#cf控制台,右上角头像-配置文件-API令牌-Global API Key (此处需要用全局key,不然无法添加dns记录,没研究明白)
export CF_Key="xxxxxxxxxxxx"
#签发证书,此处为需要签发证书的子域名(也可以为主域名、或通配符,没有深究)
acme.sh --issue --dns dns_cf -d xxxx.1962666.xyz
#重新签发(正常不需要,acme会在到期前自动重新签发)
acme.sh --renew -d xxxx.1962666.xyz
#提取证书,签发成功后,证书文件位于/root/.acme.sh/对应的域名文件夹内,自行安装到对应位置
cd /root/.acme.sh/
部署证书
#编辑脚本
nano /update_ssl.sh
#!/bin/bash
# 定义源目录和目标目录
SRC_CERT_DIR="/root/.acme.sh/xxxx.1962666.xyz_ecc"
# 此数字目录需要先在飞牛web中上传证书才会生成,之后可以通过此脚本更新,否则提示目录不存在
DEST_DIR="/usr/trim/var/trim_connect/ssls/xxxx.1962666.xyz/1750217745"
# 1. 删除目标目录下的所有内容
echo "正在清空目标目录: $DEST_DIR"
rm -rf "$DEST_DIR"/*
if [ $? -ne 0 ]; then
echo "错误: 无法清空目标目录"
exit 1
fi
# 2. 复制证书文件并重命名
SRC_CERT="$SRC_CERT_DIR/xxxx.1962666.xyz.cer"
DEST_CERT="$DEST_DIR/xxxx.1962666.xyz.crt"
echo "正在复制证书文件从 $SRC_CERT 到 $DEST_CERT"
cp "$SRC_CERT" "$DEST_CERT"
if [ $? -ne 0 ]; then
echo "错误: 无法复制证书文件"
exit 1
fi
# 3. 复制密钥文件
SRC_KEY="$SRC_CERT_DIR/xxxx.1962666.xyz.key"
DEST_KEY="$DEST_DIR/xxxx.1962666.xyz.key"
echo "正在复制密钥文件从 $SRC_KEY 到 $DEST_KEY"
cp "$SRC_KEY" "$DEST_KEY"
if [ $? -ne 0 ]; then
echo "错误: 无法复制密钥文件"
exit 1
fi
echo "操作完成"
配置定时任务
#给权限
chmod +x /update_ssl.sh
#编辑定时任务,每月1日8点执行更新脚本
crontab -e
0 8 1 * * /update_ssl.sh >> /var/log/update_ssl.log 2>&1