開源工具acme.sh:一款零門檻自動(dòng)化SSL證書管理神器:從申請到續(xù)期一鍵搞定!
當(dāng)前位置:點(diǎn)晴教程→知識管理交流
→『 技術(shù)文檔交流 』
在當(dāng)今HTTPS普及的時(shí)代,SSL證書已成為網(wǎng)站安全的基礎(chǔ)設(shè)施。但是傳統(tǒng)證書申請流程繁瑣、續(xù)期復(fù)雜的問題始終困擾著開發(fā)者。 由純Shell腳本編寫的開源工具acme.sh,憑借其輕量化、全自動(dòng)的特性,正在成為全球開發(fā)者管理SSL證書的首選方案。 acme.sh的優(yōu)勢acme.sh完整實(shí)現(xiàn)了ACME協(xié)議標(biāo)準(zhǔn),通過與
核心功能拆解1. 靈活的運(yùn)行模式通過不同參數(shù)適配各類服務(wù)器環(huán)境: Webroot模式: 在現(xiàn)有Web服務(wù)目錄生成驗(yàn)證文件(推薦生產(chǎn)環(huán)境)
Standalone模式: 臨時(shí)啟動(dòng)HTTP服務(wù)完成驗(yàn)證(適合無Web服務(wù)場景) DNS模式: 通過API自動(dòng)配置TXT解析記錄(支持
2. 證書生態(tài)管理跨平臺部署:通過
證書監(jiān)控: 一鍵遷移: 支持PKCS#12格式導(dǎo)出證書 3. 企業(yè)級特性ECC證書支持:生成更安全的橢圓曲線加密證書
多域名合并: 單證書支持100+域名 沙盒測試: 使用 生成證書acme.sh 實(shí)現(xiàn)了 acme 協(xié)議支持的所有驗(yàn)證協(xié)議。 一般有兩種方式驗(yàn)證: HTTP 和 DNS 驗(yàn)證。 HTTP 驗(yàn)證直接簽發(fā)只需要指定域名,并指定域名所在的網(wǎng)站根目錄. acme.sh 會(huì)全自動(dòng)的生成驗(yàn)證文件,并放到網(wǎng)站的根目錄,驗(yàn)證完成后會(huì)聰明的刪除驗(yàn)證文件,整個(gè)過程沒有任何副作用。
使用 Apache 模式如果你用的 Apache 服務(wù)器,acme.sh 還可以智能的從 Apache 的配置中自動(dòng)完成驗(yàn)證,你不需要指定網(wǎng)站根目錄:
使用 Nginx 模式如果你用的 Nginx 服務(wù)器,或者反代,acme.sh 還可以智能的從 Nginx 的配置中自動(dòng)完成驗(yàn)證,你不需要指定網(wǎng)站根目錄:
注意,無論是 Apache 還是 Nginx 模式,acme.sh 在完成驗(yàn)證之后,會(huì)恢復(fù)到之前的狀態(tài),都不會(huì)私自更改程序本身的配置. 好處是你不用擔(dān)心配置被搞壞,也有一個(gè)缺點(diǎn),你需要自己配置 SSL 項(xiàng),否則只能成功生成證書,你的網(wǎng)站還是無法正常使用 HTTPS。 使用獨(dú)立服務(wù)模式如果服務(wù)器上沒有運(yùn)行任何 Web 服務(wù),80 端口是空閑的,那么 acme.sh 還能假裝自己是一個(gè) WebServer,臨時(shí)監(jiān)聽 80 端口,完成驗(yàn)證:
修改默認(rèn) CAacme.sh 腳本默認(rèn) CA 服務(wù)器是 只需要把 CA 服務(wù)器改成
更高級的用法請參考: https://github.com/acmesh-official/acme.sh/wiki/How-to-issue-a-cert DNS 驗(yàn)證如果你沒有服務(wù)器,沒有公網(wǎng) IP,只需要 DNS 的解析記錄即可完成驗(yàn)證。 手動(dòng)驗(yàn)證這需要你手動(dòng)在域名上添加一條 TXT 解析記錄,驗(yàn)證域名所有權(quán)。 注意,如果使用手動(dòng)驗(yàn)證,acme.sh 將無法自動(dòng)更新證書,每次都需要手動(dòng)添加解析來驗(yàn)證域名所有權(quán)。如果有自動(dòng)更新證書的需求,請使用自動(dòng)驗(yàn)證(DNS API)。
然后,acme.sh 會(huì)生成相應(yīng)的解析記錄顯示出來,你只需要在你的域名管理面板中添加這條 TXT 記錄即可。 等待解析完成之后,執(zhí)行以下命令重新生成證書:
注意這里現(xiàn)在用的是 自動(dòng)驗(yàn)證(DNS API)DNS 方式的真正強(qiáng)大之處在于可以使用域名解析商提供的 API 自動(dòng)添加 TXT 記錄,且在完成驗(yàn)證后刪除對應(yīng)的記錄。 acme.sh 目前支持超過一百家的 DNS API。 以 DNSPod.cn 為例,你需要先登錄到 DNSPod.cn,拿到你的 DNSPod API Key 和 ID 并設(shè)置:
現(xiàn)在我們可以簽發(fā)通配符證書了:
總結(jié)acme.sh不僅是一個(gè)工具,更代表著自動(dòng)化運(yùn)維的理念革新,配合CI/CD流程,新項(xiàng)目上線完全不用操心證書問題。如果你也在為證書管理發(fā)愁,真心建議試試這個(gè)工具,我認(rèn)為acme.sh是目前最好用的免費(fèi)SSL證書管理工具! 開源地址
閱讀原文:原文鏈接 該文章在 2025/8/15 12:35:51 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |