MENU

阿里云配合申请Let‘s Encrypt泛域名

November 9, 2018 • Read: 1247 • 技术杂谈

Lets-Encrypt-Logo.png

1. 安装 acme.sh

安装:

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

注:将会安装到 ~/.acme.sh/ 目录下,以后所有的配置默认也在这个目录下

设置 alias:

alias acme.sh=~/.acme.sh/acme.sh  # .bashrc or .zshrc or .config/fish/fish.

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

更高级的安装选项请参考: https://github.com/Neilpang/acme.sh/wiki/How-to-install

2. 生成证书

acme.sh 实现了 acme 协议支持的所有验证协议. 一般有两种方式验证: http 和 dns 验证,这里仅介绍 DNS 方式

1. 方式一:使用 token
acme.sh 支持直接使用主流 DNS 提供商的 API 接口来完成域名验证以及一些相关操作

具体 dnsapi 链接

这里以 阿里云 为例:

首先获取你的阿里云API Key: https://ak-console.aliyun.com/#/accesskey

之后在你的终端配置文件中设置:

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 , 命令中 dns_ali 指明使用 阿里的dns

来生成证书,注意这里第一个域名为顶级域名,后面个为泛域名。

这种方式将自动为你的域名添加一条 txt 解析,验证成功后,这条解析记录会被删除,所以对你来说是无感的,就是要等 120秒。

证书生成成功后,默认保存在 .acme.sh/hostname 中。

若想自定义证书目录,可加上 -w 参数

acme.sh --issue --dns dns_ali -d *.example.com -w /etc/letsencrypt/*.example.com

原文地址:https://www.jianshu.com/p/dbe180979e77