LINUX系统
安装 acme.sh
curl https://get.acme.sh | sh -s email=my@example.com
或者
wget -O - https://get.acme.sh | sh -s email=my@example.com
安装过程发生如下内容:
- 把 acme.sh 安装到你的 home 目录下:
~/.acme.sh/
- 创建 一个 bash 的 alias, 方便你的使用:
alias acme.sh=~/.acme.sh/acme.sh
- 自动为你创建 cronjob, 每天 0:00 点自动检测所有的证书, 如果快过期了, 需要更新, 则会自动更新证书.
输入域名商API KEY环境参数
#阿里云
export Ali_Key="填写AccessKey ID"
export Ali_Secret="填写Access Key Secret"
#腾讯云(DnsPod)
export DP_Id="填写API ID"
export DP_Key="填写API Key"
申请泛域名证书
#阿里云
acme.sh --issue --dns dns_ali -d example.com -d *.example.com
#腾讯云(DnsPod)
acme.sh --issue --dns dns_dp -d example.com -d *.example.com
证书生成成功后,默认保存在.acme.sh/example.com/
更新证书
申请证书成功后,参数会写入配置中并自动调用更新,如果想强制更新证书,可加入--force执行
acme.sh --renew --dns -d example.com -d *.example.com --force
Docker For Windows(一次性)
事前准备
1.安装Docker For Windows(https://docs.docker.com/docker-for-windows/install/)
2.设置共享磁盘
拉取acme.sh镜像
以管理员身份启动PowerShell
docker pull neilpang/acme.sh
检查镜像是否下载完成docker images
申请泛域名证书-1
#阿里云
docker run -rm -d -e Ali_Key='填写AccessKey ID' -e Ali_Secret='填写Access Key Secret' --name=acme_sh neilpang/acme.sh --issue --dns dns_ali -d example.com -d *.example.com
#腾讯云(DnsPod)
docker run -rm -d -e Dp_Id='填写填写API ID' -e DP_Key='填写API Key' --name=acme_sh neilpang/acme.sh --issue --dns dns_dp -d example.com -d *.example.com
更新证书
由于上述为一次性证书获取,所以不能自动更新证书,重复一遍申请泛域名证书操作即可
Docker For Windows(后台运行自动更新证书)
事前准备
1.安装Docker for Windows(https://docs.docker.com/docker-for-windows/install/)
2.设置共享磁盘
拉取acme.sh镜像
以管理员身份启动PowerShelldocker pull neilpang/acme.sh
检查镜像是否下载完成docker images
配置docker-compose.yml
编写并保存
version: '3'
services:
acme_sh:
image: neilpang/acme.sh
container_name: acme_sh
restart: always
command:
daemon
environment:
- Ali_Key=填写阿里云AccessKey ID
- Ali_Secret=填写阿里云Access Key Secret
- Dp_Id=填写腾讯云DnsPod API ID
- Dp_Key=填写腾讯云DnsPod API Key
以后台形式运行容器
docker-compose up -d acme_sh
申请泛域名证书-2
#阿里云
docker exec acme_sh --issue --dns dns_ali -d example.com -d *.example.com
#腾讯云(DnsPod)
docker exec acme_sh --dns dns_dp -d example.com -d *.example.com
更新证书
默认60天更新证书,加--force可强制更新docker exec acmedocker acme.sh --renew --dns -d example.com -d *.example.com
可选内容
转换证书为PKCS12格式
证书默认不带PKCS12格式密码参数
# Linux
acme.sh --toPkcs -d example.com [--password pfx-password]
# Docker for windows
docker exec acme.sh --toPkcs -d example.com [--password pfx-password]
版权属于:Zakikun
本文链接:https://blog.zakikun.com/archives/13.html
本文采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。
您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。