本帖最后由 mgxy8888 于 2018-3-27 22:13 编辑
- Let's Encrypt 于2018年3月14日在其官网发布了一篇《ACME v2 and Wildcard Certificate Support is Live》的文章,也就预示着免费的泛域名证书正式来袭。
复制代码 首先科普一下,泛域名指带通配符的域名,例如:*.bt.cn、*. baidu.com均为泛域名,包含同一级的全部子域名。注意二级泛域名 *.domain.com 不支持三级域名 web.ssl.bt.cn。
- 战前准备
- 一台 Linux 机器(教程使用 Centos 7)
- DNSPod API Token
- 一个域名(教程使用 bt.cn)
- 一个聪明的大脑
复制代码
1、在机器上安装相关环境依赖。
- yum update -y && yum -y install curl cron socat
复制代码 2、下载安装 acme.sh 脚本。
- curl https://get.acme.sh | sh
复制代码 3、在 DNSPod 控制台申请 API Token,这里我们获取到了 ID 和 Token 以便接下来使用。
图片无法上传,提示dnspod-api-lets-encrypt-2.pngServer (IO) Error,希望官方解决一下,解决后我上传上来
4、依次输入以下命令,其中 DP_Id 是刚刚申请的 ID,DP_Key 是刚刚申请的 Token 值,第一个-d 后面填写一级域名,第二个 -d 后面填写泛域名。
- export DP_Id="49824"
- export DP_Key="394f8762a1232cf5aad40fc2d5c0dabb"
复制代码 5、接下来脚本会自动等待 120 秒来验证信息,签发成功后,就会给出 CSR、KEY、CERT 保存的路径/root/.acme.sh/bt.cn/。
- [Fri Mar 16 16:51:59 CST 2018] Your cert is in /root/.acme.sh/bt.cn/bt.cn.cer
- [Fri Mar 16 16:51:59 CST 2018] Your cert key is in /root/.acme.sh/bt.cn/bt.cn.key
- [Fri Mar 16 16:51:59 CST 2018] The intermediate CA cert is in /root/.acme.sh/bt.cn/ca.cer
- [Fri Mar 16 16:51:59 CST 2018] And the full chain certs is there: /root/.acme.sh/bt.cn/fullchain.cer
复制代码 6、证书获取,签发好的CSR、KEY、CERT 都在此路径下:/root/.acme.sh/你的域名/
7、安装证书,以nginx为例:
- listen 80;
- listen 443 ssl;
- server_name xxx.com;
- index index.html index.htm index.php;
- root /home/wwwroot/bt.cn;
- ssl_certificate /root/.acme.sh/bt.cn/fullchain.cer;
- ssl_certificate_key /root/.acme.sh/bt.cn/bt.cn.key;
复制代码
注意事项
- 1、在申请签发的过程中脚本会调用 API 自动添加两条 TXT 记录进行验证,在申请成功之后会自动删除这两条记录。
- 2、在得到签发的证书之后,为了域名解析安全,记得在 DNSPod 删除 Token。
- 3、下载 acme.sh 脚本需要在 acme.sh 以及 github.com 拉取文件,所以国内的一些机器可能无法正常运行。
- 4、签发的证书有效期为 3 个月,之后需要重新申请。
复制代码
|
|