文章目录
- 前言
- 一、手动安装acme.sh操作
- 1、安装acme.sh
- 2、使用dns api自动续签
- 二、宝塔自动操作【推荐】
- 总结
前言
之前个人站点一般都是使用阿里云免费单域名证书,虽然好用但是只有一年有效,到期只能手动重新申请,并且每次弄个子域名出来就要重新申请,好麻烦……
看了一篇公众号文章,了解到使用Let’s Encrypt可以申请3月的通配符证书,并且可以搭配acme.sh免费续签。
那就先试试看吧!
一、手动安装acme.sh操作
1、安装acme.sh
登陆终端,下载acme.sh
国外原版:curl https://get.acme.sh -s | sh -s
国内下载【推荐】:
curl https://gitcode.net/cert/cn-acme.sh/-/raw/master/install.sh?inline=false -s | sh -s
把 acme.sh 安装到你的 home 目录下:
~/.acme.sh/
下载好之后查看版本:acme.sh -v
输出下面内容就OK了
2、使用dns api自动续签
将你的顶级域名解析到服务器,获取然后获取dns api
不同服务商方式不一样,自行百度,xxx【域名服务商】获取dns api
简单介绍下阿里云:
阿里云控制台》用户头像》accesskeys按指引获取AccessKey/SecretKey
拿到后执行下面代码配置到服务器里面:
export Ali_Key="你的key"
export Ali_Secret="你的密钥"
这是阿里云的,不同服务商字段不一样
例如:
DNSPOD申请API KEY*
个人头像 – API密钥 --DNSPod Token
export DP_Id=“"
export DP_Key="”
Cloudflare申请API KEY
进入Cloudflare管理后台
export CF_Key=“******”
export CF_Email=“lingen.liu@gmail.com”
配置完成后执行下面命令获取通配符证书
xxx.cn:改成你的域名
~/.acme.sh/acme.sh --issue -d xxx.cn -d *.xxx.cn --dns dns_ali
执行成功后可以看到证书地址
不过我ngxin需要pem格式证书,百度一下,把cer后缀名直接改成pem就可以用……
证书就弄好了,可以自己手动部署到网站,
不过我懒,就直接使用宝塔了【好方便~】
将key和cer里面的内容粘贴到两个红框中就可以了,保存后发现还剩89天,没问题。
二、宝塔自动操作【推荐】
全部弄完后我才发现,宝塔原来自带这个东西……
那我们可以更懒一点,去对应域名解析服务商那里拿到dns api,输入进去就可以直接申请免费证书了
上面两个方法选其中一个就好了,我自己申请了之后在使用宝塔自带的去申请通配符域名就报错了,可能不支持申请两个通配符域名证书吧
总结
建议选第二种,直接使用宝塔的服务,少折腾很多……
参考:
https://mp.weixin.qq.com/s?__biz=MzkyMTE2ODk0Ng==&mid=2247484969&idx=1&sn=2f4f4c52fa26340b2c0f7e869cdab156&chksm=c186fb74f6f17262c723f776983a4ca76f156ee1ea66b07b589ea4a3371e439b94af9c42f2d8&cur_album_id=1698696798069948420&scene=189#wechat_redirect
http://www1.hi.cn/docs/getting-started/acme.sh-installation/
https://www.jianshu.com/p/90170b86b24b