关注VPS服务器
相关知识分享

腾讯云 DNSPod 域名 API 申请 Let’s Encrypt 泛域名 SSL 证书过程记录

目前使用量最大的免费 SSL 证书就是 Let’s Encrypt 了,在 2018 年 3 月份 Let’s Encrypt 官方发布上线泛域名免费 SSL 证书,现在终于可以申请了。目前通过 DNS 方式获取比较快,国内可以通过腾讯云的 DNSPod 域名 API 和阿里云域名 API 自动颁发 Let’s Encrypt 泛域名 SSL 证书。本文记录腾讯云 DNSPod 域名 API 申请 Let’s Encrypt 泛域名 SSL 证书的过程。

要使用腾讯云 API 申请 Let’s Encrypt 泛域名 SSL 证书,首先你得有一个 VPS 空间,比如魏艾斯博客就放在腾讯云服务器上面,没有腾讯云服务器的点我注册,现在搞活动最高 2 折,1 核 1G1M 带宽 766 元/3 年,便宜的很。

腾讯云使用的是 DNSPod 域名,这两家账号是通用的。把要申请免费证书的域名接入到 DNSPod,并使用 DNSPod 的 NS 服务器进行解析,解析生效需要一段时间所以这个工作要提前做了。

一、安装 linux 系统依赖程序

Centos 执行命令:

yum update && yum install curl -y && yum install cron -y && yum install socat -y

老魏这里运行过程中需要输入一次 y 才能继续。大家操作的时候也要注意一下,别输入命令就不管了。

Debian/Ubuntu 执行命令:

apt-get update && apt-get install curl -y && apt-get install cron -y && apt-get install socat -y

二、安装 ACME.SH

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

acme.sh 实现了 acme 协议, 可以从 letsencrypt 生成免费的证书,自动为你创建 cronjob, 每天 0:00 点自动检测所有的证书, 如果快过期了, 需要更新, 则会自动更新证书,安装过程不会污染已有的系统任何功能和文件, 所有的修改都限制在安装目录中。

三、获取域名 API

1、腾讯云域名默认使用 DNSPod.cn 做解析,没有 DNSPod 账号要去注册一个,然后把要申请证书的域名使用 DNSPod 的 NS 服务器解析。

2、创建 API,操作参考下图,要注意的是弹出窗口显示完整的 Token,必须复制保存。因为只显示这一次,如果没记住,那就删除这个再重新创建一个。

3、得到 ID 和 KEY 之后,输入以下命令:

export DP_Id=”你的 ID”
export DP_Key=”你的 KEY”

执行了上面命令之后,应该会看到类似以下截图的结果。

4、申请签发证书命令:

~/.acme.sh/acme.sh –issue –dns dns_dp -d vpsss.net -d *.vpsss.net

记得把 vpsss.net 换成你的域名哦。等待程序自动申请完毕。看到如下图所示就说明申请成功了。

5、证书文件自动存放在/root/.acme.sh/域名文件夹中。按需下载到本地保存或者是应用证书的时候调用这个目录下面的证书。本文使用的脚本会创建 cronjob,用于每天 0:00 点自动检测所有的证书,如果快过期了就自动更新证书。

6、目前 lnmp1.4 不支持 Let’s Encrypt 泛域名 SSL 证书,lnmp1.5 测试版和宝塔面板可以使用。宝塔面板用到的是 fullchain.cer 和 vpsss.net.key,用 sftp 软件下载到本地电脑,用记事本打开这两个文件, 复制内容放到宝塔面板中就可以了。

2018 年 6 月 26 日重要更新,一定要看:

老魏一个站点用的是腾讯云 CDN,最近到期了 acme sh 会自动更新,查询 SSL 证书到期日期还是没有变化(依旧是快到期的状态),但是 CDN 和 Let’s Encrypt 证书是两家公司,所以并不知道 腾讯云 CDN 是否也会自动更新(目前国内支持自动更新 Let’s Encrypt 证书的有又拍云 CDN),于是打工单问了客服,答复如下:

那么需要移步腾讯云 CDN 和 lnmp1.4 环境安装 Let’s Encrypt 免费证书教程的第二条,按照提示操作,acme.sh 生成的是
/usr/local/nginx/conf/ssl/www.vpsss.net/www.vpsss.net.key

/usr/local/nginx/conf/ssl/www.vpsss.net/fullchain.cer

要记住有/vpsss.net/和/www.vpsss.net/两个不同的文件夹,都要复制粘贴一下。

其中 fullchain.cer 对应证书内容,www.vpsss.net.key 对应私钥内容,用 Notepad++或者 Dreamweaver 之类的代码编辑软件打开,把这两段代码复制粘贴到腾讯云 CDN 的证书内容里面去, 双击打开这两个密钥复制粘贴内容到腾讯云 CDN 的证书内容和私钥内容里面,记得最后面不要有空行,会提示配置失败。

这样保存之后,把浏览器缓存清空,重新登录网站查看证书会发现 Let’s Encrypt 证书有效期已经更新了,不过只要你使用腾讯云 CDN 就要记着每三个月手动更新一下这里。

以上是腾讯云 DNSPod 域名 API 申请 Let’s Encrypt 泛域名 SSL 证书过程记录,本文中用到的 ACME.SH 脚本可以自动续期,很实用的功能。

允许转载,保留出处:魏艾斯博客 » 腾讯云 DNSPod 域名 API 申请 Let’s Encrypt 泛域名 SSL 证书过程记录
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址