共计 1159 个字符,预计需要花费 3 分钟才能阅读完成。
今天阿蛮君突然收到腾讯云提示 ssl 证书即将过期的提示。
然后,突然发现之前一直想写的关于 ssl 通配符证书的东西一直没写,今天就趁此机会稍微写一下。
freessl简介
freessl 是一个提供免费 https 证书申请的网站,官网:https://freessl.cn/。
并且 freessl 承诺 100% 永久免费,有的人可能会问,购买域名的注册商那里不是可以购买免费的证书吗?
这个确实是可以,但是购买有限制,一年内购买证书限额,并且通配符域名证书也是收费的。
而 freessl 免费,但是有一个缺点就是 3 个月需要续签一次,但是毕竟免费嘛,而且通配符证书能省不少事,不然的话每个域名都要去申请一个证书,怪麻烦的。
安装
阿蛮君使用的是腾讯云,所以这里就以 dnspod 为例作为介绍,其他的云厂商也类似。
创建token
进入 dnspod 创建 token 页面:https://console.dnspod.cn/account/token/token
创建一个 token,接下来会用到。
运行acme.sh
docker run -d \
--name acme \
--net=host \
-v /home/docker/nginx/conf.d/cert/:/acme.sh \
-e DP_Id="xxxx" \
-e DP_Key="xxxxx" \
neilpang/acme.sh daemon
上面的 DP_Id 和 DP_Key 就是页面上的 ID 和 Token。
生成证书
docker exec -it acme acme.sh \
--set-default-ca --server letsencrypt \
--register-account -m xxx@qq.com \
--issue --dns dns_dp -d amjun.com -d "*.amjun.com"
运行命令即可生成证书,邮箱和域名改为自己的域名即可,这个容器将会在域名到期前一个月自动续签证书。
如果你要是问我 cdn 为什么还会提示证书到期,那是因为 cdn 的证书需要手动配置,其实我本地的证书是早就已经更新了的。
我的证书是是4.17到期,但 acme 在3.18就给我生成了新的证书,只不过我没有把它替换掉 cdn 证书配置。
CDN配置证书
登录腾讯云 cdn 配置证书:https://console.cloud.tencent.com/cdn/certificate/deploy
注意,这里的证书内容需要填写完整的证书链,即文件 fullchain.cer 里面的内容,而不是 amjun.com.cer 里面的内容。如果只填 amjun.com.cer 里面的内容的话,浏览器访问不会报错,但是 curl 就会报错无法校验证书。私钥内容就填 amjun.com.key 里面的内容。
添加好证书以后,然后就是给加速域名配置刚刚添加的证书了。
再从浏览器查看证书日期,就已经更新了。
提醒:本文发布于606天前,文中所关联的信息可能已发生改变,请知悉!