收起左侧

1Panel 证书续签全自动化,优化版。省去很多不必要麻烦。

1
回复
55
查看
[ 复制链接 ]

1

主题

4

回帖

0

牛值

江湖小虾

默认案例如下:https://club.fnnas.com/forum.php?mod=viewthread&tid=16025

原始方案:

#!/bin/bash

#配置
CERT_NAME="xxx.com"
PANEL_CERT_PATH="/vol2/1000/certs"
FNOS_CERT_PATH="/usr/trim/var/trim_connect/ssls/xxx.com/1740193347"

# 重命名
mv "$PANEL_CERT_PATH/fullchain.pem" "$PANEL_CERT_PATH/$CERT_NAME.crt"
mv "$PANEL_CERT_PATH/privkey.pem" "$PANEL_CERT_PATH/$CERT_NAME.key"

# 将新证书文件复制到旧证书文件的路径
cp "$PANEL_CERT_PATH/$CERT_NAME.*" "$FNOS_CERT_PATH/" -av

# 设置新证书文件权限为 755
chmod 0755 "$FNOS_CERT_PATH/*"

# 获取新证书的到期日期并更新数据库中的证书有效期
NEW_EXPIRY_DATE=$(openssl x509 -enddate -noout -in "$FNOS_CERT_PATH/$CERT_NAME.crt" | sed "s/^.*=\(.*\)$/\1/")
NEW_EXPIRY_TIMESTAMP=$(date -d "$NEW_EXPIRY_DATE" +%s%3N)  # 获取毫秒级时间戳

# 更新数据库中的证书有效期
psql -U postgres -d trim_connect -c "UPDATE cert SET valid_to=$NEW_EXPIRY_TIMESTAMP WHERE domain='$CERT_NAME'"

# 重启服务
systemctl restart webdav.service
systemctl restart smbftpd.service
systemctl restart trim_nginx.service

优化方案:

#!/bin/bash
set -e
#你要签名的证书域名
CERT_NAME="NAS.XXXX.COM"
#证书存放路径,需要根据自身修改。
PANEL_CERT_PATH="/vol1/1000/certs"

FNOS_CERT_BASE="/usr/trim/var/trim_connect/ssls/$CERT_NAME"
FNOS_CERT_PATH=$(ls -dt "$FNOS_CERT_BASE"/* | head -n 1)

# 复制证书(已经是 crt / key,不再 mv)
cp -av \
  "$PANEL_CERT_PATH/$CERT_NAME.crt" \
  "$PANEL_CERT_PATH/$CERT_NAME.key" \
  "$FNOS_CERT_PATH/"

# 设置权限(私钥必须更严格)
chmod 0755 "$FNOS_CERT_PATH/$CERT_NAME.crt"
chmod 0755 "$FNOS_CERT_PATH/$CERT_NAME.key"

# 读取证书到期时间
NEW_EXPIRY_DATE=$(openssl x509 -enddate -noout -in "$FNOS_CERT_PATH/$CERT_NAME.crt" | cut -d= -f2)
NEW_EXPIRY_TIMESTAMP=$(date -d "$NEW_EXPIRY_DATE" +%s%3N)

# 更新数据库
psql -U postgres -d trim_connect \
  -c "UPDATE cert SET valid_to=$NEW_EXPIRY_TIMESTAMP WHERE domain='$CERT_NAME'"

# 重启服务
systemctl restart trim_nginx.service
systemctl restart webdav.service
systemctl restart smbftpd.service

收藏
送赞
分享

1

主题

4

回帖

0

牛值

江湖小虾

昨天 07:31 楼主 显示全部楼层

原贴中需要使用这个方案,需要自己获取证书地址,以及自动生成的数字部分。

使用优化完的方案,所有东西完全自动运行,自动获取。

image.png

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则