什么是Acme.sh
Acme.sh是 Shell(Unix shell)語言編寫的 ACME 協(xié)議客戶端。
只需一個腳本即可自動頒發(fā),、更新和安裝您的證書,。
簡單易用 堪稱神器 ??
開源倉庫:https://github.com/acmesh-official/acme.sh
安裝Acme.sh
安裝也是非常簡單 一行命令即可 默認安裝在:~/.acme.sh/
目錄下
1
2
|
curl https://get.acme.sh | sh # 安裝
source ~/.bashrc # 應用環(huán)境變量
|
使用Acme.sh申請證書
設置CA賬號
下方 [email protected] 更換為自己郵箱
阿里云
AK、AS 獲取
1.打開AccessKey管理
2.使用子用戶 AccessKey
3.創(chuàng)建子用戶
4.獲取到 AS,、AK
添加完用戶可以看到這個列表 先復制出來備用
4.用戶授權
然后點擊賬號 點擊權限管理 按照如下配置權限
申請證書
domain.com
更換為要申請證書的域名 可以一次申請多個
將前一步驟中申請的 AccessKey ID、AccessKey Secret 替換下方的 環(huán)境變量 中
執(zhí)行如下命令 耐心等待即可
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
export Ali_Key="" # AccessKey ID
export Ali_Secret="" # AccessKey Secret
# 申請證書到默認位置 domain.com 換成你的域名
acme.sh --issue \
--dns dns_ali \
-d domain.cn \
-d *.domain.cn
# 指定證書位置
acme.sh --issue \
--dns dns_ali \
--key-file /home/jwinks/ssl/domain.key \
--fullchain-file /home/jwinks/ssl/domain.pem \
-d domain.cn \
-d *.domain.cn
--reloadcmd "docker restart nginx" # 申請后指定命令 比如可以重啟nginx,、caddy等web容器 也可以不寫
|
CloudFlare
CloudFlare API KEY 獲取
生成地址:https://dash.cloudflare.com/profile/api-tokens 生成后復制備用
申請證書
domain.com
更換為要申請證書的域名 可以一次申請多個
將前一步驟中申請的 Global API Key,、郵箱 替換下方的 環(huán)境變量 中
執(zhí)行如下命令 耐心等待即可
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
export CF_Key="" # Global API Key
export CF_Email="" # 郵箱
# 申請證書到默認位置 domain.com 換成你的域名
acme.sh --issue \
--dns dns_cf \
-d domain.cn \
-d *.domain.cn
# 指定證書位置
acme.sh --issue \
--dns dns_cf \
--key-file /home/jwinks/ssl/domain.key \
--fullchain-file /home/jwinks/ssl/domain.pem \
-d domain.cn \
-d *.domain.cn
--reloadcmd "docker restart nginx" # 申請后指定命令 比如可以重啟nginx、caddy等web容器 也可以不寫
|
申請結果
如下圖輸出則 申請成功 ?? ??
最后輸出的是綠色部分是 證書的目錄 一般都在安裝 acme.sh 的目錄下
更新證書
手動更新
執(zhí)行以下命令可以手動申請證書 我這里剛申請的 它自動跳過申請了
1
|
"/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh"
|
自動更新
在申請證書的時候 acme.sh
默認會通過 crontab
設置定時任務 一般不需要手動設置
1
2
3
4
5
|
# 查看定時任務
crontab -e
# 如沒有定時任務 可將此代碼加入
50 15 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null
|