正文
acme.sh的简单学习过程
背景
公司内部测试环境为了节约费用(不要学我)
自己花十块到一百块之前从腾讯云购买一个域名
然后使用NDSPOD进行解析内网IP地址
偶尔需要申请临时证书进行HTTPS的验证.
但是免费的证书最多20个.
然后想了下就想试试acme.sh进行免费证书的申请
注意:
本方案 只是测试环境
不考虑自动续期(公司很多机器限制访问acme的网站)
获取安装介质.
最简单的方法是从github获取zip包进行处理.
https://codeload.github.com/acmesh-official/acme.sh/tar.gz/refs/tags/3.0.4
将安装文件放到任意目录就可以
比如我就下载好了之后 然后解压缩放到了
/acme/ 目录下面.
DNSPOD获取api认证信息
其实大概好几年前就知道acme了.但是当时一直没有正确的认识.
不清楚如何让acme知道我是否拥有这个域名的
Authentication Credential Management Extension
扫码进入腾云寻的控制台. 打开DNSPOD的管理界面
->点击一个具体自己拥有的域名 打开设置界面.
->点击右上角的账户 信息
->点击API密钥生成密钥
注意这个密码必须立即记住不然就没了.
可以执行命令
mkdir -p /root/.acme.sh/
vim account.conf
export DP_Id="359xxx"
export DP_Key="xxxxxxada9dadfb34359818c4337394d"
SAVED_DP_Id='359xxx'
SAVED_DP_Key='xxxxxxada9dadfb34359818c4337394d'
USER_PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'
注意 saved开头的是 自动生成的.
最简单的生成证书的命令
/acme/acme.sh --issue --server letsencrypt --dns dns_dp -d www.myapp.cloud
然后就有会有提示:
[2022年 11月 13日 星期日 18:58:04 CST] Your cert is in: /root/.acme.sh/www.myapp.cloud/www.myapp.cloud.cer
[2022年 11月 13日 星期日 18:58:04 CST] Your cert key is in: /root/.acme.sh/www.myapp.cloud/www.myapp.cloud.key
[2022年 11月 13日 星期日 18:58:04 CST] The intermediate CA cert is in: /root/.acme.sh/www.myapp.cloud/ca.cer
[2022年 11月 13日 星期日 18:58:04 CST] And the full chain certs is there: /root/.acme.sh/www.myapp.cloud/fullchain.cer
然后就可以下载下来继续用了.
其实感觉可以设置计划任务自动续期. 但是测试环境 90天的足够用了.
所以简单记录一下.