安装acme.sh

  • 海外地区
1
2
3
4
5
6
7
8
# curl
curl https://get.acme.sh | sh -s email=my@example.com

# wget
wget -O - https://get.acme.sh | sh -s email=my@example.com

# 环境变量生效
source ~/.bashrc
  • 国内地区
1
2
3
wget https://gitee.com/neilpang/acme.sh/raw/master/acme.sh
sh acme.sh --install -m mytest2016@gmail.com
source ~/.bashrc

获取DNS厂商API密钥

一般DNS厂商会通过API密钥的方式来实现用户的认证和操作权限的控制,每个厂商的API密钥会有所区别,如CloudFlare的CF_KeyCF_Email,腾讯云的SecretIdSecretKey,阿里云的AccessKeyIdAccessKeySecret

以腾讯云为例,登录腾讯云控制台,进入访问管理页面,点击左侧菜单栏的访问密钥,进入API 密钥管理页面,点击新建密钥,即可生成一对SecretIdSecretKey

PS:

需自行记录SecretIdSecretKey

申请SSL证书

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 设置环境变量
vim ~/.bashrc
source ~/.bashrc

export Tencent_SecretId="<Your SecretId>"
export Tencent_SecretKey="<Your SecretKey>"

# 更新acme.sh
acme.sh --upgrade
acme.sh --upgrade --auto-upgrade

# 设置邮箱
acme.sh --register-account -m admin@example.com

# 创建证书保存目录
mkdir -p /home/ssl

# 更改默认CA
acme.sh --set-default-ca --server letsencrypt

# 使用acme.sh申请证书
acme.sh --issue --dns dns_tencent --ecc -d example.com -d *.example.com

# 安装证书
acme.sh --installcert -d example.com -d *.example.com --key-file /home/ssl/example.com.key --fullchain-file /home/ssl/example.com.crt

设置定时任务自动续期证书

1
2
# 设置定时任务
acme.sh --install-cronjob

参考资料