通過acme.sh生成泛域名證書


更多方式請查看: letsencrypt/client-options

acme.sh 官方 wiki 說明

1. 安裝 acme.sh

#安裝:
curl  https://get.acme.sh | sh
# 注:上面命令執行后會將 acme.sh 工具安裝到 ~/.acme.sh/ 目錄下,以后所有的配置默認也在這個目錄下

# 設置別名 alias:
alias acme.sh=~/.acme.sh/acme.sh 
# 自動為你創建計划任務, 每天 0:00 點自動檢測所有的證書, 如果快過期了, 需要更新, 則會自動更新證書.

# 更高級的安裝選項請參考: https://github.com/Neilpang/acme.sh/wiki/How-to-install

 

2. 生成證書

# acme.sh 實現了 acme 協議支持的所有驗證協議. 一般有兩種方式驗證: http 和 dns 驗證
# 這里僅介紹 DNS 方式
# DNS 驗證方式的好處是, 你不需要任何服務器, 不需要任何公網 ip, 只需要 dns 的解析記錄即可完成驗證. 
# 壞處是,如果不同時配置 Automatic DNS API,使用這種方式 acme.sh 將無法自動更新證書,每次都需要手動再次重新解析驗證域名所有權。 

# acme.sh 支持直接使用主流 DNS 提供商的 API 接口來完成域名驗證以及一些相關操作 具體參考 dnsapi 鏈接 
# 至於要哪個DNS提供商的API, 取決於你是在哪里買的域名
# 不同DNS提供商的使用方法,請參考 wiki dnsapi

# 比如我 的域名是在 騰訊雲購買的,那么我將使用 dnspod 為例 : 
# 首先訪問 dnspod.cn 
# 在 用戶中心->安全設置, 找到 API Token 選項欄,在這里可以生成你的 ID和Token (生成后要保存下來,后面會用到) 
# 在命令行界面 將 上面生成的 ID和Token導入環境變量里
export DP_Id="生成的ID" 
export DP_Key="生成的Token" 

# 然后可以直接使用如下命令發起申請: 
acme.sh --issue --dns dns_dp -d 'example.com' -d '*.example.com'
# 在執行完成后,上面導入的環境變量 DP_Id 和 DP_Key 將被保存在 ~/.acme.sh/account.conf
# 命令中 dns_dp 指明使用 騰訊的dns 來生成證書,注意這里第一個域名為頂級域名,后面個為泛域名。泛域名因為有通配符*號,所以建議使用單引號包起來
# 這種方式將自動為你的域名添加一條 txt 解析,驗證成功后,這條解析記錄會被刪除,所以對你來說是無感的,就是要等大概要120秒。
# 注意:需要同時添加裸域名及泛域名的話,請注意要將非泛域名的域名放在前面,否則可能會遇到一些問題。
# 證書生成成功后,默認保存在 ~/.acme.sh/example.com 對應的目錄中。 

# 若想自定義證書目錄,可加上 -w 參數 
acme.sh --issue --dns dns_dp -d 'example.com' -w /etc/letsencrypt/example.com 
# 以下是整個生成過程的截圖

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM