一、原理以及参考文章
原理:群晖证书文件,实际上是放在"/usr/syno/etc/certificate/_archive/Qa9p1w"路径下,注意最后一个文件夹Qa9p1w每个人都不一样,是群晖现有的证书对应一个文件夹,要找到对应的文件夹才行。该文件夹下,有3个文件,包括cert.pem、privkey.pem、fullchain.pem,只需要编写一个有足够权限的脚本,来更新这个文件就可以。
一、准备条件
开启群晖ssh
找到群晖的证书路径,位于"/usr/syno/etc/certificate/_archive/"下的某个文件夹内,包括cert.pem、privkey.pem、fullchain.pem,其中fullchain.pem实际上是cert.pem和chain.pem的拼接。修改群晖证书路径那几个文件的权限,修改成777,如果是权限有问题都会修改失败
安装好AllinSSL(可以是在群晖上进行docker安装,也可以是其他服务器)
准备好阿里云Access账号(推荐是使用ram账号,并且只设置DNS相关权限)
准备好要签证的域名等
准备好一个文件夹,用于存放临时的证书文件,我这里准备的是“/volume2/docker/MySSL/”
二、步骤
在AllinSSL中添加授权API

在AllinSSL中添加阿里云的Access账号

在自动化部署中,添加自动化部署,填写证书申请,以及部署


后置命令输入(其中,xxxxx替换成正常的名字):
#!/bin/bash
CERT_SRC_DIR="/volume2/docker/MySSL"
CERT_DEST_DIR="/usr/syno/etc/certificate/_archive/Qa9p1w"
CERT_FILE="$CERT_SRC_DIR/xxxxx.pem"
KEY_FILE="$CERT_SRC_DIR/xxxxx.key"
cp "$CERT_FILE" "$CERT_DEST_DIR/cert.pem"
cp "$KEY_FILE" "$CERT_DEST_DIR/privkey.pem"
cat "$CERT_FILE" "$CERT_FILE" > "$CERT_DEST_DIR/fullchain.pem"