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