证书是什么?,证书就一种网站加密协议,能使你在外网访问时更安全,不容易受到攻击,一般在访问的网址前面会出现绿色的小锁,表示这是安全的访问,通常https需要配置这样的证书,不然就会出现不安全的标识

现在免费申请证书的途径很多,可以在域名服务商那里直接申请,这种证书一般是单域名的证书,比如:nas.abc.com这就是单域名证书,还可以通过专门的证书服务商那里免费申请,但是却有时间限制,一般是90天限制,那么问题来了,有没有适合群晖的证书申请方法,即能免费申请泛域名,又能自动更新证书呢,这样一劳永逸的方法,只需前期一次配置,后面就可以自动更新了。

前面我有文章介绍通过群晖原生申请Let's Encrypt证书的方法,虽然简单,但适应范围小,需要使用CDN加速而且只是单域名的,本文介绍的是申请泛域名的证书,适用面广,不受端口限制(原生申请需开通80端口)

既然说了那么多,是不是心动了,好吧,那就开始吧,我尽量说得详细,其实操作起来非常简单:

一、安装acme.sh程序

首先使用putty或其它工具登陆群晖SSH端口,步骤是:

输入admin及密码 

输入sudo -i

输入root及密码

群晖nas使用教程42:acme.sh申请Let's Encrypt证书 - 群晖教程插图走客


然后输入一串代码,表示安装acme.sh程序并进行解压,具体代码为:


wget https://github.com/Neilpang/acme.sh/archive/master.tar.gz

tar xvf master.tar.gz

cd acme.sh-master/

chmod a+x acme.sh


群晖nas使用教程42:acme.sh申请Let's Encrypt证书 - 群晖教程插图1走客

群晖nas使用教程42:acme.sh申请Let's Encrypt证书 - 群晖教程插图2走客



解压后需将其安全到我们能容易查看的目录内,输入代码:


./acme.sh --install --nocron --home "/volume1/docker/cert/challenges/acme.sh"


群晖nas使用教程42:acme.sh申请Let's Encrypt证书 - 群晖教程插图3走客


二、查找阿里云或腾迅云服务ID和密码并配置

通过域名服务商的ID和key,一般很容易获取,方法本网也有很多介绍的,这里就不啰嗦了,用记事本将其记住

然后去Dnsapi文件夹里找到对应的服务商文件配置,阿里云的是“dns_ali”,而腾迅云的是"dns_dp“,这样只需将前面记录的到该文件里修改即可,另需将其前面”#”去掉,让设置生效:

群晖nas使用教程42:acme.sh申请Let's Encrypt证书 - 群晖教程插图4走客

群晖nas使用教程42:acme.sh申请Let's Encrypt证书 - 群晖教程插图5走客

群晖nas使用教程42:acme.sh申请Let's Encrypt证书 - 群晖教程插图6走客

群晖nas使用教程42:acme.sh申请Let's Encrypt证书 - 群晖教程插图7走客


三、生成证书并配置自动更新配置

1、配置好后,请选用相应的代码进行生成证书,我选用的是阿里云,所以代码是:


./acme.sh --home "/volume1/docker/cert/challenges" --issue --dns dns_ali -d example.cn -d *.example.cn


记得将"example.cn"改为你自已的域名,然后输入运行,如图:

群晖nas使用教程42:acme.sh申请Let's Encrypt证书 - 群晖教程插图8走客


2、一般如果配置成功的话,可以直接产生相应的证书,文件夹是以你的域名命名的,例如"example.cn",里面有7个文件,分别是证书和系统文件,这样才成功


3、然后可以将里面的证书文件先进行安装,方法本网也有,就不多说了,配置好后看有效期一般是90天,怎么办,我们需要自动更新,一般一个月更新一次就够了,更新脚本是:


cd /volume1/docker/cert/challenges/acme.sh

./acme.sh --home "/volume1/docker/cert/challenges" --renew -d example.cn -d *.example.cn


只需将example.cn改成你的域名即可。然后运行该脚本就能更新证书了。


群晖nas使用教程42:acme.sh申请Let's Encrypt证书 - 群晖教程插图9走客


4、更新脚本只能更新证书,但不可能每次手动去更新一次,太麻烦了,我们做一个脚本自动安装,先去“/usr/syno/etc/certificate/_archive”目录看,里面会有刚上传证书的目录,记住他的地址,然后运行脚本:


/volume1/docker/cert/challenges/acme.sh/acme.sh --home /volume1/docker/cert/challenges --installcert -d example.cn --certpath /usr/syno/etc/certificate/_archive/USAEVy/cert.pem --keypath /usr/syno/etc/certificate/_archive/USAEVy/privkey.pem --fullchainpath /usr/syno/etc/certificate/_archive/USAEVy/fullchain.pem --capath /usr/syno/etc/certificate/_archive/USAEVy/chain.pem --reloadcmd

rsync -avzh /usr/syno/etc/certificate/_archive/USAEVy/ /usr/syno/etc/certificate/system/default/

/usr/syno/etc/rc.sysv/nginx.sh reload

这里只需将example.cn改为你的域名,/usr/syno/etc/certificate/_archive/USAEVy改为你的地址就好了,然后运行该脚本,一般一个月一次,这个脚本要比上一个晚半个小时左右才好。


群晖nas使用教程42:acme.sh申请Let's Encrypt证书 - 群晖教程插图10走客

结语:介绍完了,说了那么多,操作起来没几分钟,顶多半小时吧,设置好后以后就不用管他,全自动更新泛域名,是不是很爽,照着教程做,我相信你也能设置成功的。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。