acme.sh的简单学习过程

acme,sh,简单,学习,过程 · 浏览次数 : 212

小编点评

## acme.sh 简单学习过程 **背景:** 公司内部测试环境为了节约费用,自己花十块到一百块之前从腾讯云购买一个域名然后使用NDSPOD进行解析内网IP地址偶尔需要申请临时证书进行HTTPS的验证。 **免费证书限制:** * freemium 证书最多20个 * acme.sh 需要手动获取API密钥,且密钥只能记住1天 **解决方案:** 1. **获取安装介质:** 从github获取zip包进行处理,例如下载并解压缩到/acme/ 目录下面。 2. **获取API密钥:** 在DNSPOD的管理界面中点击右上角的账户 信息,点击API密钥生成密钥,注意保存密码并记录。 3. **执行证书申请命令:** 使用命令 `/acme/acme.sh --issue --server letsencrypt --dns dns_dp -d www.myapp.cloud`,其中 `myapp.cloud` 是您的域名。 4. **下载证书:** 脚本会下载证书,并将其保存在 `/root/.acme.sh/` 目录下。 5. **设置计划任务续期:** 由于测试环境足够用了,您可以设置计划任务自动续期证书。 **步骤总结:** 1. 获取安装介质 2. 获取API密钥 3. 执行证书申请命令 4. 下载证书 5. 设置计划任务续期

正文

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天的足够用了. 
所以简单记录一下. 

与acme.sh的简单学习过程相似的内容:

acme.sh的简单学习过程

acme.sh的简单学习过程 背景 公司内部测试环境为了节约费用(不要学我) 自己花十块到一百块之前从腾讯云购买一个域名 然后使用NDSPOD进行解析内网IP地址 偶尔需要申请临时证书进行HTTPS的验证. 但是免费的证书最多20个. 然后想了下就想试试acme.sh进行免费证书的申请 注意: 本方

[转帖]acme.sh-实现自动化部署SSL证书

https://cloud.tencent.com/developer/article/2055254 前言 ; acme 我一直使用的都是Let's Encrypt免费的证书,昨天看到群里的大佬发出了一个测试的证书申请的脚本命令,我才接触到acme.sh,于是我查阅了很多大佬的博文了解这个脚本的使

[转帖]acme 中文说明

https://github.com/acmesh-official/acme.sh/wiki/%E8%AF%B4%E6%98%8E acme.sh 实现了 acme 协议, 可以从 letsencrypt 生成免费的证书. 主要步骤: 安装 acme.sh 生成证书 copy 证书到 nginx/

[转帖]acme How to issue a cert

https://github.com/acmesh-official/acme.sh/wiki/How-to-issue-a-cert 1. Single domain: 1) Webroot mode: If you already have a web server running, you s

[转帖]通过acme 协议生成免费的证书.

https://zhuanlan.zhihu.com/p/377191119 Authentication Credential Management Extension 环境介绍: 服务器:阿里云 DNS解析: dnspod 操作过程如下:(以下操作过程建议在root下执行) 1.下载脚本并执行安