宝塔面板下免费申请Let’s Encrypted泛域名证书及其解析教程

2018年3月30日22:21:48 发表评论 2,984 views
首先科普一下,泛域名指带通配符的域名,例如:*.domain.cn、*. baidu.com均为泛域名,包含同一级的全部子域名。注意二级泛域名 *.domain.com 不支持三级域名 web.ssl.domain.cn。
  1. 战前准备
  2. 一台 Linux 机器(教程使用 Centos 7)
  3. DNSPod API Token
  4. 一个域名(教程使用 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 是刚刚申请的 IDDP_Key 是刚刚申请的 Token 值。 DNSpod输入如下: export DP_Id="49800" export DP_Key="394f8762a1232cf5aad40fc2d5c0daaa" Aliyun解析输入如下: export Ali_Key="LTAIWphQOhHe1xxx" export Ali_Secret="diLnYOzeYRi4LZKPBFL6z0DciVcccc"
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为例:
  1. listen 80;
  2. listen 443 ssl;
  3. server_name xxx.com;
  4. index index.html index.htm index.php;
  5. root  /home/wwwroot/PINBUY.COM;
  6. ssl_certificate      /XXX/XXX/XXX/XXXt/cert/pinbuy.com/fullchain.cer;
  7. ssl_certificate_key  /XXX/XXX/XXX/XXXt/cert/pinbuy.com/pinbuy.com.key;
8操作完毕记得重启一下网站nginx。 注意事项
  1. 、在申请签发的过程中脚本会调用 API 自动添加两条 TXT 记录进行验证,在申请成功之后会自动删除这两条记录。2、在得到签发的证书之后,为了域名解析安全,记得在 DNSPod 删除 Token。3、下载 acme.sh 脚本需要在 acme.sh 以及 github.com 拉取文件,所以国内的一些机器可能无法正常运行。4、签发的证书有效期为 3 个月,之后需要重新申请。
  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
0 0 投票数
文章评分
订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论