欢迎光临散文网 会员登陆 & 注册

群辉搭配acme实现自签证书申请

2023-03-28 11:32 作者:杜衡图南  | 我要投稿

0 前言

之前使用docker申请的SSL证书又过期了,而且上次记录的笔记遗失了,导致又要重新配置,这次参考了官方文档关于群辉的适配说明,借助Synology DSM deployhook,可以实现自动更新证书。我目前使用的是DNSPod解析域名(域名部分用 xxx.com 代替),同时通过ZeroSSL申请泛域名证书,请注意加粗的内容。

1 配置步骤

1.1 申请 DNSPod Token

https://console.dnspod.cn/account/token/token

获得 IDToken


1.2 下载 acme.sh

    开启群辉ssh并登录。

    $ sudo su 

    $ cd ~$ wget https://github.com/acmesh-official/acme.sh/archive/master.tar.gz 

    $ tar xvf master.tar.gz 

    $ cd acme.sh-master/ 

    $ ./acme.sh --install --nocron --home /usr/local/share/acme.sh --accountemail "email@gmailcom"

    $ source ~/.profile


1.3 创建证书

    需要注意国内DNS验证通常无法通过,需要添加“--dnssleep 30”限制,跳过验证。一般设置为30秒足够了,如果报错可以尝试增加这个时长。

    $ export DP_Id="XXXXXX"

    $ export DP_Key="XXXXXXXXXXXXXXXXXXXXXXXXXX"

    $ ./acme.sh --home . --issue  --dns dns_dp -d xxx.com -d '*.xxx.com' --server zerossl --dnssleep 30 --force


1.4 部署证书

    新建一个群辉账户,注意分配到 "administrators" 用户组中,其他所有的权限都可以取消。替换下方命令中的用户名和密码,以及登录页面的端口号。由于我开启了双因子验证(2FA),需要登录后提取名称为“did”的cookie,并填写入SYNO_DID。注意登录时需要选中“保持登录”。

    $ export SYNO_Username='XXXXXX'

    $ export SYNO_Password='XXXXXXXXXXXX'

    $ export SYNO_Scheme="https"

    $ export SYNO_Port="xxxxx"

    $ export SYNO_Certificate=""

    $ export SYNO_DID='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'

    $ export SYNO_Create=1

    $ ./acme.sh --deploy --insecure --home . -d  'xxx.com'  --deploy-hook synology_dsm

    

1.5 自动更新证书

在群辉设置的“任务计划”中,新增“用户定义的脚本”,“用户账号”选择为“root”,运行时间可以设置为每周六执行一次。任务设置中的“用户命令”填写如下:

# renew certificates 

/usr/local/share/acme.sh/acme.sh --cron --home /usr/local/share/acme.sh/


参考链接

1. https://github.com/acmesh-official/acme.sh/wiki/Synology-NAS-Guide

群辉搭配acme实现自签证书申请的评论 (共 条)

分享到微博请遵守国家法律