本文只适用于在鹅云上备案、解析的域名,已经把成功把HTTPS应用于鹅云的CDN,其他云厂商没有进行试验,有兴趣的伙伴可以自行按照下文的思路重演。

安装ACME

目前使用量最大的免费SSL证书就是Let’s Encrypt,自2018-03开始,Let’s Encrypt官方发布上线了免费的SSL泛域名证书,目前通过DNS方式获取比较快,国内可以通过鹅云的DNSPod域名API或者猫云域名API自动签发Let’s Encrypt泛域名证书。因为鹅云使用的就是DNSPod域名,并且鹅云和DNSPod的账号是打通的,可以使用wx直接扫码登录。下文需要对鹅云和DNSPod进行操作,为了简化证书申请过程,需要提前安装acme.sh。acme.sh实现了acme协议,可以从Let’s Encrypt生成免费的证书,自动创建cron任务, 每天零点自动检测所有的证书,如果发现证书快过期了,需要更新,则acme.sh会自动更新证书,安装过程不会污染已有的系统任何功能和文件,所有的修改都限制在安装目录中。

先进行依赖下载和更新。如果服务器是CentOS系统,使用下面的命令:


yum update && yum install curl -y && yum install cron -y && yum install socat -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

如果控制台输出:


.....
Good, bash is found, so change the shebang to use....
OK
Install success!

说明acme.sh安装成功。

注册并配置DNSPod的秘钥

如果使用了鹅云的服务,直接wx扫码就可以登录DNSPod,否则需要注册绑定。登录之后,点击账号中心的「密钥管理」25a5a3f3cafe33f96ec9bf78db1ad5d6.png

然后命名并且创建一个密钥:1baa8ef5acb7f84a90ec12f88310d577.png

记得要保存好秘钥的IDToken,后面的步骤需要用到这两个配置。

申请证书

申请好DNSPod的秘钥,得到IDToken之后,在服务器的环境变量中添加这几个值,执行命令:



export DP_Id='你的ID'
export DP_Key='你的Token'
export ACCOUNT_EMAIL='你的邮箱'

接着使用acme.sh申请签发证书,执行命令:


~/.acme.sh/acme.sh --issue --dns dns_dp -d throwable.club -d *.throwable.club

这里throwable.club是笔者的博客域名,如果需要颁发你自己的域名的SSL证书,这里替换为你的域名即可。接着静静等待acme.sh的脚本程序执行完毕,如果过程中没有发生其他意外,那么证书申请成功后的控制台日志如下:2343e228100d10da3b74283381f7f588.png

证书文件会自动存放在/root/.acme.sh/域名目录下,例如/root/.acme.sh/throwable.club目录。查看/root/.acme.sh/throwable.club目录的内容:2bf48ec2d71120b01d24076880bb5697.png

其中,「fullchain.cer就是证书文件内容,而throwable.club.key就是证书的私钥」

最后注意一下:

申请下来的泛域名SSL免费证书有效期只有3个月,但是acme.sh每晚零点会自动检测证书的有效期并且进行续期。


手动续期命令:acme.sh --cron --force --debug 2

文章版权声明:本文发表于2022-11-15 18:37:29,除非注明,否则均为 MB博客原创文章,转载或复制请以超链接形式并注明出处。

发表评论

登录后更精彩
评论列表 7 条评论 1129 人围观)
网友昵称:kali
kali V 尊贵会员 7楼
2023-04-29 02:05:03 来自: 山东省
怎吗搞没看明白
网友昵称:kali
kali V 尊贵会员 6楼
2023-04-29 02:04:53 来自: 山东省
怎吗搞没看明白
网友昵称:493866423
493866423 V 尊贵会员 5楼
2023-04-04 11:24:10 来自: 四川省泸州市
赞赞赞辛苦大佬!
网友昵称:fanxin
fanxin V 尊贵会员 4楼
2023-03-27 20:09:37 来自: 四川省
111111
网友昵称:Kioonlin
Kioonlin V 尊贵会员 3楼
2023-03-24 14:27:34 来自: 江苏省
不明觉厉
网友昵称:哈哈哈
哈哈哈 V 尊贵会员 2楼
2023-03-12 13:05:06 来自: 芬兰
.......
网友昵称:测试
测试 V 尊贵会员 1楼
2023-03-05 18:06:45 来自: 北京市
ssss