csdn_spider/articles/ds19991999/4.原创-Let's Encrypt 泛域名证书申请.md

2.9 KiB
Raw Blame History

4.原创Let's Encrypt 泛域名证书申请

github: https://github.com/Neilpang/acme.sh

通过acme申请Lets Encrypt证书支持的域名DNS服务商有以下这些国内用户较多的cloudxns、dnspod、aliyun阿里云、cloudflare、linode、he、digitalocean、namesilo、aws、namecom、freedns、godaddy、yandex 等等。

目录

安装acm.sh

curl  https://get.acme.sh | sh

acme.sh被安装在了~./.acme.sh,创建 一个 bashalias, 方便你的使用: alias acme.sh=~/.acme.sh/acme.sh

通过acme.sh安装的证书会自动为你创建 cronjob, 每天 0:00 点自动检测所有的证书, 如果快过期了, 需要更新, 则会自动更新证书.

DNS方式验证域名所有权

acme.sh  --issue  --dns   -d mydomain.com

acme.sh 会生成相应的解析记录显示出来, 你只需要在你的域名管理面板中添加这条 txt 记录即可.

获取DNS API

获取DNS域名商的DNS API api 也会将 上面的txt 记录自动添加到域名解析商。比喻阿里的apihttps://ak-console.aliyun.com/#/accesskey ,然后看说明进行配置 https://github.com/Neilpang/acme.sh/tree/master/dnsapi 阿里的就是:

export Ali_Key="sdfsdfsdfljlbjkljlkjsdfoiwje"
export Ali_Secret="jlsdflanljkljlfdsaklkjflsa"
acme.sh --issue --dns dns_ali -d example.com -d *.example.com

这个*值的就是泛域名。运行一次之后Ali_Key和Ali_Secret将被保存~/.acme.sh/account.conf生成的SSL证书目录在~/.acme.sh/example.com

安装证书

详见:copy/安装 证书

使用 --installcert 命令,并指定目标位置, 然后证书文件会被copy到相应的位置, 例如:

acme.sh  --installcert  -d  <domain>.com   \
        --key-file   /etc/nginx/ssl/<domain>.key \
        --fullchain-file /etc/nginx/ssl/fullchain.cer \
        --reloadcmd  "service nginx force-reload"

宝塔用户在SSL选项选择其他证书把SSL证书内容粘贴上面去就行了

这里改一下证书路径

目前证书在 60 天以后会自动更新, 你无需任何操作. 今后有可能会缩短这个时间, 不过都是自动的, 你不用关心.

更新 acme.sh

自动更新:acme.sh --upgrade --auto-upgrade
关闭更新:acme.sh --upgrade --auto-upgrade 0

有问题看 wikidubug