首先科普一下,泛域名指带通配符的域名,例如:*.domain.cn、*. baidu.com均为泛域名,包含同一级的全部子域名。注意二级泛域名 *.domain.com 不支持三级域名 web.ssl.domain.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 以便接下来使用。
在Aliyun控制台申请的地址是:https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fak-console.aliyun.com%2F%3Fspm%3D5176.2020520001.0.0.0EJtVx#/accesskey
狗爹Godaddy申请api的地址:https://developer.godaddy.com/keys/
4、依次输入以下命令,其中 DP_Id 是刚刚申请的 ID,DP_Key 是刚刚申请的 Token 值。
DNSpod输入如下:
export DP_Id="49800"
export DP_Key="394f8762a1232cf5aad40fc2d5c0daaa"
Aliyun解析输入如下:
export Ali_Key="LTAIWphQOhHe1xxx"
export Ali_Secret="diLnYOzeYRi4LZKPBFL6z0DciVcccc"
8、操作完毕记得重启一下网站nginx。
注意事项
- 战前准备
- 一台 Linux 机器(教程使用 Centos 7)
- DNSPod API Token
- 一个域名(教程使用 domain.cn)
5、继续输入下边的命令,其实下边两个命令通用。
Dnspod输入如下:
acme.sh --issue --dns dns_dp -d 一级域名 -d *.一级域名
比如:acme.sh --issue --dns dns_dp -d pinbuy.com -d *.pinbuy.com
Aliyun输入如下:
~/.acme.sh/acme.sh --issue --dns dns_ali -d pinbuy.com -d *.pinbuy.com
屏幕指令如下:
[XXX@XXX ~]# acme.sh --issue --dns dns_dp -d pinbuy.com -d *.pinbuy.com
[2018年 03月 30日 星期五 17:25:58 CST] Registering account
[2018年 03月 30日 星期五 17:26:00 CST] Registered
[2018年 03月 30日 星期五 17:26:00 CST] ACCOUNT_THUMBPRINT='MvUC2MLEoXXXXXXR8E1_VbzhsOEXXXXXXRzjiMEU'
[2018年 03月 30日 星期五 17:26:00 CST] Creating domain key
[2018年 03月 30日 星期五 17:26:00 CST] The domain key is here: /XXX/XXX/XXX/XXt/cert/pinbuy.com/pinbuy.com.key
[2018年 03月 30日 星期五 17:26:00 CST] Multi domain='DNS:pinbuy.com,DNS:*.pinbuy.com'
[2018年 03月 30日 星期五 17:26:01 CST] Getting domain auth token for each domain
[2018年 03月 30日 星期五 17:26:02 CST] Getting webroot for domain='pinbuy.com'
[2018年 03月 30日 星期五 17:26:02 CST] Getting webroot for domain='*.pinbuy.com'
[2018年 03月 30日 星期五 17:26:02 CST] Found domain api file: /root/.acme.sh/dnsapi/dns_dp.sh
[2018年 03月 30日 星期五 17:26:03 CST] Adding record
[2018年 03月 30日 星期五 17:26:03 CST] Found domain api file: /root/.acme.sh/dnsapi/dns_dp.sh
[2018年 03月 30日 星期五 17:26:04 CST] Adding record
[2018年 03月 30日 星期五 17:26:04 CST] Sleep 120 seconds for the txt records to take effect
[2018年 03月 30日 星期五 17:28:07 CST] Verifying:pinbuy.com
[2018年 03月 30日 星期五 17:28:10 CST] Success
[2018年 03月 30日 星期五 17:28:10 CST] Verifying:*.pinbuy.com
[2018年 03月 30日 星期五 17:28:13 CST] Success
[2018年 03月 30日 星期五 17:28:13 CST] Removing DNS records.
[2018年 03月 30日 星期五 17:28:16 CST] Verify finished, start to sign.
[2018年 03月 30日 星期五 17:28:18 CST] Cert success.
6、接下来脚本会自动等待 120 秒来验证信息,签发成功后,就会给出 CSR、KEY、CERT 保存的路径/XXX/XXX/XXX/XXXt/cert/pinbuy.com/
[2018年 03月 30日 星期五 17:28:18 CST] Your cert is in /XXX/XXX/XXX/XXXt/cert/pinbuy.com/pinbuy.com.cer
[2018年 03月 30日 星期五 17:28:18 CST] Your cert key is in /XXX/XXX/XXX/XXXt/cert/pinbuy.com/pinbuy.com.key
[2018年 03月 30日 星期五 17:28:18 CST] The intermediate CA cert is in /XXX/XXX/XXX/XXXt/cert/pinbuy.com/ca.cer
[2018年 03月 30日 星期五 17:28:18 CST] And the full chain certs is there: /XXX/XXX/XXX/XXXt/cert/pinbuy.com/fullchain.cer
6、证书获取,签发好的CSR、KEY、CERT 都在此路径下:
/XXX/XXX/XXX/XXXt/cert/你的域名/
7、安装证书,在执行以下操作之前需要先在宝塔面板里边申请好Let's Encrypt免费证书,然后在后台配置网站信息的时候直接修改配置文件,以nginx为例:
- listen 80;
- listen 443 ssl;
- server_name xxx.com;
- index index.html index.htm index.php;
- root /home/wwwroot/PINBUY.COM;
- ssl_certificate /XXX/XXX/XXX/XXXt/cert/pinbuy.com/fullchain.cer;
- ssl_certificate_key /XXX/XXX/XXX/XXXt/cert/pinbuy.com/pinbuy.com.key;
- 、在申请签发的过程中脚本会调用 API 自动添加两条 TXT 记录进行验证,在申请成功之后会自动删除这两条记录。2、在得到签发的证书之后,为了域名解析安全,记得在 DNSPod 删除 Token。3、下载 acme.sh 脚本需要在 acme.sh 以及 github.com 拉取文件,所以国内的一些机器可能无法正常运行。4、签发的证书有效期为 3 个月,之后需要重新申请。
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫