syno-acme
syno-acme copied to clipboard
已有证书的情况下,能否跳过申请证书步骤,直接导入到群晖?
我已经用Nginx Proxy Manager定期更新证书了,所以不需要自动申请的功能,只需要把NPM的证书更新到群晖里,请问该如何实现?
写了一个脚本自动替换群辉默认证书,但是替换了以后,并没有效果,页面上面的证书还是之前的,但是我从web中重新导入一次,又是最新的证书,头都大了,有人遇到和我一样的问题吗?
写了一个脚本自动替换群辉默认证书,但是替换了以后,并没有效果,页面上面的证书还是之前的,但是我从web中重新导入一次,又是最新的证书,头都大了,有人遇到和我一样的问题吗?
萌新小白遇到了相同的情况,主机端918-6.23up3,其他分机都是3617-6.17up3,主机端因为有FTP服务,所以分机尝试用群晖自带的lftp从主机端的acme获取到证书的域名文件夹内get到分机已成功,再替换到分机端/usr/syno/etc/certificate的几个文件夹内,然后把njinx再reload一下,确定了下路径正确,内容成功替换,但是怎么刷新都是原来的证书。web中导入的话一切正常。
写了一个脚本自动替换群辉默认证书,但是替换了以后,并没有效果,页面上面的证书还是之前的,但是我从web中重新导入一次,又是最新的证书,头都大了,有人遇到和我一样的问题吗?
我要被自己蠢哭了,我一直只替换了这几个文件夹的证书,忘了分机全用的群晖自己的反代访问的,还需要替换反代的证书 /usr/syno/etc/certificate/_archive/DEFAULT 内的文件夹内的证书应该是导入的不同证书文件夹,我看几个教程都只替换了这个。 /usr/syno/etc/certificate/system/default /usr/syno/etc/certificate/smbftpd/ftpd /usr/syno/etc/certificate/ReverseProxy 内的文件夹就是反代的证书,文件夹名字随机生成的,每个文件夹一个反代,我就是一直在替换其他3个文件夹的证书,这个文件夹下的证书一直没有换,所以通过反代访问还是未更新的证书。 这是我各种教程拼接来的。
#!/bin/bash
#定义FTP服务器连接信息 HOST='1.2.3.4' USER='youruser' PASSWD='yourpw' #远端证书文件存储路径 REMOTE_DIR='/admin-file/ssl/acme.sh/DOMAIN.com' #本地证书文件存储路径 LOCAL_DIR='/volume1/cache/ssl' #默认证书文件存储路径 file_path=$(cat /usr/syno/etc/certificate/_archive/DEFAULT) #文件1 file1=DOMAIN.com.cer #文件2 file2=DOMAIN.com.key #文件2 file3=fullchain.cer
#连接FTP服务器并传输文件 echo $(date +%F%n%T)连接FTP服务器并传输文件 lftp $USER:$PASSWD@$HOST <<eof cd $REMOTE_DIR get $file1 -o $LOCAL_DIR get $file2 -o $LOCAL_DIR get $file3 -o $LOCAL_DIR eof echo $(date +%F%n%T)连接FTP服务器并传输文件完毕
#获取证书路径 TARGET_DIRS=( "/usr/syno/etc/certificate/_archive/$(head -n1 /usr/syno/etc/certificate/_archive/DEFAULT | xargs echo -n)" '/usr/syno/etc/certificate/system/default' '/usr/syno/etc/certificate/smbftpd/ftpd' '/usr/syno/etc/certificate/ReverseProxy/3e25c150-baa6-4f42-afae-f78e9f93bab8' '/usr/syno/etc/certificate/ReverseProxy/7101db3a-c841-4d04-b305-82ddd090a1cf' '/usr/syno/etc/certificate/ReverseProxy/3101048c-bcba-43e5-bcd1-756fea761412' ) #拷贝证书 copy_certs() { echo $(date +%F%n%T)拷贝证书 for dir in "${TARGET_DIRS[@]}"; do install -m 400 "$LOCAL_DIR/$file1" "$dir/cert.pem" install -m 400 "$LOCAL_DIR/$file2" "$dir/privkey.pem" install -m 400 "$LOCAL_DIR/$file3" "$dir/fullchain.pem" done echo $(date +%F%n%T)拷贝证书完毕 sleep 5 } #重启WEB服务 restart_services() { echo $(date +%F%n%T)重启WEB服务 nginx -s reload sleep 5 echo $(date +%F%n%T)重启WEB服务完毕 }
echo '---------------'$(date +%F%n%T)'---------------' copy_certs restart_services sleep 20 echo $(date +%F%n%T)删除证书 rm -f $LOCAL_DIR/$file1 rm -f $LOCAL_DIR/$file2 rm -f $LOCAL_DIR/$file3 echo $(date +%F%n%T)删除证书完毕