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

安装过程发生如下内容:

  1. 把 acme.sh 安装到你的 home 目录下: ~/.acme.sh/
  2. 创建 一个 bash 的 alias, 方便你的使用: alias acme.sh=~/.acme.sh/acme.sh
  3. 自动为你创建 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镜像

以管理员身份启动PowerShell
docker 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]
最后修改:2022 年 03 月 17 日
个人分享,随意打赏