本文作者:百花齐放

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

百花齐放 2019-07-09 11699 2条评论
群晖nas使用教程42:acme.sh申请Let's Encrypt证书摘要: 证书是什么?,证书就一种网站加密协议,能使你在外网访问时更安全,不容易受到攻击,一般在访问的网址前面会出现绿色的小锁,表示这是安全的访问,通常https需要配置这样的证书,不然就会...

证书是什么?,证书就一种网站加密协议,能使你在外网访问时更安全,不容易受到攻击,一般在访问的网址前面会出现绿色的小锁,表示这是安全的访问,通常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证书 群晖教程 第1张


然后输入一串代码,表示安装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证书 群晖教程 第2张

群晖nas使用教程42:acme.sh申请Let's Encrypt证书 群晖教程 第3张



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


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


群晖nas使用教程42:acme.sh申请Let's Encrypt证书 群晖教程 第4张


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

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

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

群晖nas使用教程42:acme.sh申请Let's Encrypt证书 群晖教程 第5张


群晖nas使用教程42:acme.sh申请Let's Encrypt证书 群晖教程 第6张

群晖nas使用教程42:acme.sh申请Let's Encrypt证书 群晖教程 第7张

群晖nas使用教程42:acme.sh申请Let's Encrypt证书 群晖教程 第8张


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

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证书 群晖教程 第9张


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证书 群晖教程 第10张



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证书 群晖教程 第11张

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

文章版权及转载声明

作者:百花齐放本文地址:https://www.huakings.cn/post/148.html发布于 2019-07-09
文章转载或复制请以超链接形式并注明出处花王网络

赞(0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

阅读
分享

发表评论

快捷回复:

评论列表 (有 2 条评论,11699人围观)参与讨论
网友昵称:chinasdzxp
chinasdzxp 游客 沙发
2019-12-06 回复
80和443端口都被封了,也可以用吗
网友昵称:百花齐放
百花齐放 博主
2019-12-11 回复
@chinasdzxp 需要443端口,不然就需要加端口号