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

acme,sh,实现,自动化,部署,ssl,证书 · 浏览次数 : 0

小编点评

**acme.sh 工具简介** acme.sh 是一款支持 Let's Encrypt 域名证书申请续签程序,它提供了以下功能: * 自动安装证书 * 支持多种环境和场景的部署 * 支持 http 和 DNS 两种域名验证方式 * 支持批量申请合并多张单域名、泛域名证书,并自动续签证书 * 支持一键脚本和 docker 部署 * 支持全球各种域名服务商的 API **安装和配置** 1. 下载并运行 acme.sh 文件: ``` wget -O - https://get.acme.sh | sh ``` 2. 编辑 `account.conf` 文件并根据您的 DNS API 格式复制粘贴内容: ``` cd ~/.acme.sh vi account.conf ``` 3. 修改 `account.conf` 中的 `api` 参数以使用您的 DNS API。 **使用** 1. 将您的域名添加到 `account.conf` 文件中。 2. 运行以下命令启动 acme.sh: ``` ./acme.sh ``` **注意事项** * `acme.sh` 仅支持一个 DNS API ,多个域名服务商的域名需单独加 `-accountconf` 参数。 * 证书有效期为三个月。 * 为了避免证书失效,请定期手动续签证书。

正文

https://cloud.tencent.com/developer/article/2055254

 

前言

 

 

;
acme

我一直使用的都是Let's Encrypt免费的证书,昨天看到群里的大佬发出了一个测试的证书申请的脚本命令,我才接触到acme.sh,于是我查阅了很多大佬的博文了解这个脚本的使用方法。acme.sh功能非常强大,自动安装证书,支持广泛的环境和场景的部署。

acme.sh 是一款方便,强大的 Let’s Encrypt 域名证书申请续签程序.支持一键脚本和 docker 部署.支持 http 和 DNS 两种域名验证方式,其中包括手动,自动 DNS 及 DNS alias 模式方便各种环境和需求.可同时申请合并多张单域名,泛域名证书,并自动续签证书和部署到项目.

acme部署

通过使用域名服务商提供的 API 密钥,让acme.sh自动创建域名验证记录以申请域名证书. acme.sh 支持全球各种域名服务商的 API ,本文将以阿里云,腾讯云,Cloudflare为例.更多 DNS API 支持,请查看:官方dnsapi

获取dnsapi

我这边以dnspod为例。其他dnspod获取密钥相差无几。在后台找到即可。 登录dnspod控制台访问api密钥https://console.dnspod.cn/account/token/apikey。获取dnspod密钥,看清楚是dnspod的密钥哦。

;
dnspod api

dnspod api

export DP_Id="123xxx"
export DP_Key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

阿里云api

export Ali_Key="xxxxxxxxxxxxxx"
export Ali_Secret="xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Cloudflare api

export CF_Token="xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
export CF_Account_ID="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

安装脚本

登陆 VPS 服务器使用官方一键安装脚本安装acme.sh

wget -O -  https://get.acme.sh | sh
;
安装acme.sh

配置 DNS API

acme.sh 程序目录为隐藏目录.acme.sh存放在root下.执行以下命令进入目录,并编辑account.conf,根据上文获取的 API 格式,复制粘贴到文件中保存.

cd ~/.acme.sh
vi account.conf

ins键即可编辑。

;
在conf填写api

按esc输入:wq结束文本编辑。

;
保存

注意目前 account.conf 仅支持一个 DNS API ,多个域名服务商的域名需单独加 –accountconf 参数: 相关 issues 链接

申请证书

自动 DNS 模式标准命令:

其中dns_dp为 腾讯云DNSPod.cn 服务商,自行根据官方dnsapi修改.例如:dns_ali为阿里云,dns_cf为CLoudflare.

acme.sh --issue --server letsencrypt --dns dns_dp -d example.com -d www.example.com

本博客的域名为例:

acme.sh --issue --server letsencrypt --dns dns_dp -d www.solaacg.com

acme.sh 可以同时申请多个域名.例如拥有域名abc.com,123.com,qqq.com,只需要在命令后加上-d 空格 域名即可.

多域名申请证书会将多个证书合并为一个证书,并存放到以第一个域名命名的文件夹内,证书信息仅显示第一个域名的信息.

acme.sh --issue --server letsencrypt --dns dns_dp -d abc.com -d *.abc.com -d 123.com -d *.123.com -d qqq.com -d *.qqq.com

安装证书到指定文件夹

acme.sh 还支持自动部署证书到指定目录并重启nginxapache服务,以确保新证书生效.参考如下:

acme.sh --installcert -d mydomain.com --key-file /root/private.key --fullchain-file /root/cert.crt --reloadcmd "service nginx force-reload"

这里的mydomain.com为你要申请证书的域名,key-filefullchain-file后面的路径分别是密钥文件和证书文件的路径。使用该命令仅更改域名则将在root目录下生成密钥文件private.key和证书文件cert.crt,密钥和证书路径则分别为/root/private.key/root/cert.crt--reloadcmd "service nginx force-reload"则是重载nginx。

示例

acme.sh --installcert -d www.solaacg.com --key-file /www/server/panel/vhost/cert/sola/private.key --fullchain-file /www/server/panel/vhost/cert/sola/cert.crt --reloadcmd "service nginx force-reload"

>

自动续签证书

由于 Let’s Encrypt 的证书有效期为三个月.为避免证书失效 acme.sh 会每60天根据你的历史申请记录和部署记录重新续签证书并部署.

声明感谢

昨天向大佬讨教acme的时候,谈到了waf防火墙。他向帮我接入waf,我觉得这个防火墙特别贵,我站点使用简直小题大做,但是大佬坚持给我接入。今天大佬帮我接入了waf防火墙。特别感动。感谢大佬为我的小博客提供了waf防火墙。

原创声明,本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

与[转帖]acme.sh-实现自动化部署SSL证书相似的内容:

[转帖]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.下载脚本并执行安

[转帖]

Linux ubuntu20.04 网络配置(图文教程) 因为我是刚装好的最小系统,所以很多东西都没有,在开始配置之前需要做下准备 环境准备 系统:ubuntu20.04网卡:双网卡 网卡一:供连接互联网使用网卡二:供连接内网使用(看情况,如果一张网卡足够,没必要做第二张网卡) 工具: net-to

[转帖]

https://cloud.tencent.com/developer/article/2168105?areaSource=104001.13&traceId=zcVNsKTUApF9rNJSkcCbB 前言 Redis作为高性能的内存数据库,在大数据量的情况下也会遇到性能瓶颈,日常开发中只有时刻

[转帖]ISV 、OSV、 SIG 概念

ISV 、OSV、 SIG 概念 2022-10-14 12:29530原创大杂烩 本文链接:https://www.cndba.cn/dave/article/108699 1. ISV: Independent Software Vendors “独立软件开发商”,特指专门从事软件的开发、生产、

[转帖]Redis 7 参数 修改 说明

2022-06-16 14:491800原创Redis 本文链接:https://www.cndba.cn/dave/article/108066 在之前的博客我们介绍了Redis 7 的安装和配置,如下: Linux 7.8 平台 Redis 7 安装并配置开机自启动 操作手册https://ww

[转帖]HTTPS中间人攻击原理

https://www.zhihu.com/people/bei-ji-85/posts 背景 前一段时间,公司北京地区上线了一个HTTPS防火墙,用来监听HTTPS流量。防火墙上线之前,邮件通知给管理层,我从我老大那里听说这个事情的时候,说这个有风险,然后意外地发现,很多人原来都不知道HTTPS防

[转帖]关于字节序(大小端)的一点想法

https://www.zhihu.com/people/bei-ji-85/posts 今天在一个技术群里有人问起来了,当时有一些讨论(不完全都是我个人的观点),整理一下: 为什么网络字节序(多数情况下)是大端? 早年设备的缓存很小,先接收高字节能快速的判断报文信息:包长度(需要准备多大缓存)、地