1.在飞牛nas应用市场中找到并安装1panel
2.需要申请相关域名并在域名服务商处获取相关账号的登录秘钥在1pannel中维护
3.创建证书签发机构相关信息
4.开始申请证书,选择相关签发机构以及刚维护的DNS服务商信息,默认勾选自动续签,手动勾选推送到本地目录相关脚本为linxu基础命令,粘贴如下
#!/bin/bash
###可以申请相关泛域名证书 二级域名都可使用相关证书
mv fullchain.pem blog.xxx.top.crt
mv privkey.pem blog.xxx.top.key
cp blog.xxx.top.crt nas.xxx.top.crt
cp blog.xxx.top.key nas.xxx.top.key
#配置
CERT_NAME="*.xxx.top"
### 以下配置是飞牛nas自定义证书自动续签功能
PANEL_CERT_PATH="/vol1/1000/docker/xxx"
FNOS_CERT_PATH="/usr/trim/var/trim_connect/ssls/*.xxx.top/xxxxx"
# 重命名
cp "$PANEL_CERT_PATH/blog.xxx.top.crt" "$PANEL_CERT_PATH/$CERT_NAME.crt"
cp "$PANEL_CERT_PATH/blog.xxx.top.key" "$PANEL_CERT_PATH/$CERT_NAME.key"
# 将新证书文件复制到旧证书文件的路径
cp "$PANEL_CERT_PATH/$CERT_NAME.crt" "$FNOS_CERT_PATH/" -av
cp "$PANEL_CERT_PATH/$CERT_NAME.key" "$FNOS_CERT_PATH/" -av
# 设置新证书文件权限为 755
chmod 0755 "$FNOS_CERT_PATH/$CERT_NAME.key"
chmod 0755 "$FNOS_CERT_PATH/$CERT_NAME.crt"
# 获取新证书的到期日期并更新数据库中的证书有效期
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'"
# 本次申请涉及到相关服务 ssl证书需要重启才会生效
## 飞牛nas相关服务
systemctl restart webdav.service
systemctl restart smbftpd.service
systemctl restart trim_nginx.service
### 自定义服务
docker restart natfrp
参考文章 https://club.fnnas.com/forum.php?mod=viewthread&tid=16025&highlight=
评论区