LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

開源工具acme.sh:一款零門檻自動化SSL證書管理神器:從申請到續期一鍵搞定!

admin
2025年8月14日 20:39 本文熱度 617

在當今HTTPS普及的時代,SSL證書已成為網站安全的基礎設施。但是傳統證書申請流程繁瑣、續期復雜的問題始終困擾著開發者。

由純Shell腳本編寫的開源工具acme.sh,憑借其輕量化、全自動的特性,正在成為全球開發者管理SSL證書的首選方案。

acme.sh的優勢

acme.sh完整實現了ACME協議標準,通過與Let's EncryptZeroSSL等權威CA機構對接,實現了證書申請-部署-續期全流程自動化。其獨特優勢在于:

  • 零依賴架構: 僅需基礎Shell環境,無需Python/Node.js等運行時
  • 多CA支持: 默認使用ZeroSSL(不限證書數量),也可切換Let's Encrypt/BuyPass
  • 泛域名支持: 輕松申請*.example.com型通配符證書
  • 智能續期: 內置Cron任務自動檢測并續期證書(有效期90天)
  • 多模式驗證: 支持HTTP/DNS/API等8種域名驗證方式

核心功能拆解

1. 靈活的運行模式

通過不同參數適配各類服務器環境:

Webroot模式: 在現有Web服務目錄生成驗證文件(推薦生產環境)

acme.sh --issue -d example.com -w /var/www/html

Standalone模式: 臨時啟動HTTP服務完成驗證(適合無Web服務場景)

DNS模式: 通過API自動配置TXT解析記錄(支持Cloudflare/Aliyun等50+服務商)

# 阿里云DNS示例
export Ali_Key="AKID"
export Ali_Secret="SERCET"
acme.sh --issue --dns dns_ali -d *.example.com
2. 證書生態管理

跨平臺部署:通過--installcert命令自動部署證書到Nginx/Apache等服務器

acme.sh --install-cert -d example.com \
  --key-file /etc/nginx/ssl/key.pem \
  --fullchain-file /etc/nginx/ssl/cert.pem \
  --reloadcmd "systemctl reload nginx"

證書監控: acme.sh --list查看所有證書狀態

一鍵遷移: 支持PKCS#12格式導出證書

3. 企業級特性

ECC證書支持:生成更安全的橢圓曲線加密證書

acme.sh --issue -d example.com --keylength ec-256

多域名合并: 單證書支持100+域名

沙盒測試: 使用--staging參數避免觸發CA機構頻次限制

生成證書

acme.sh 實現了 acme 協議支持的所有驗證協議。

一般有兩種方式驗證: HTTP 和 DNS 驗證。

HTTP 驗證

直接簽發

只需要指定域名,并指定域名所在的網站根目錄. acme.sh 會全自動的生成驗證文件,并放到網站的根目錄,驗證完成后會聰明的刪除驗證文件,整個過程沒有任何副作用。

acme.sh --issue -d mydomain.com -d www.mydomain.com --webroot /home/wwwroot/mydomain.com/
使用 Apache 模式

如果你用的 Apache 服務器,acme.sh 還可以智能的從 Apache 的配置中自動完成驗證,你不需要指定網站根目錄:

acme.sh --issue --apache -d example.com -d www.example.com -d cp.example.com
使用 Nginx 模式

如果你用的 Nginx 服務器,或者反代,acme.sh 還可以智能的從 Nginx 的配置中自動完成驗證,你不需要指定網站根目錄:

acme.sh --issue --nginx -d example.com -d www.example.com -d cp.example.com

注意,無論是 Apache 還是 Nginx 模式,acme.sh 在完成驗證之后,會恢復到之前的狀態,都不會私自更改程序本身的配置. 好處是你不用擔心配置被搞壞,也有一個缺點,你需要自己配置 SSL 項,否則只能成功生成證書,你的網站還是無法正常使用 HTTPS。

使用獨立服務模式

如果服務器上沒有運行任何 Web 服務,80 端口是空閑的,那么 acme.sh 還能假裝自己是一個 WebServer,臨時監聽 80 端口,完成驗證:

acme.sh --issue --standalone -d example.com -d www.example.com -d cp.example.com
修改默認 CA

acme.sh 腳本默認 CA 服務器是 ZeroSSL,有時可能會導致獲取證書的時候一直出現:Pending,The CA is processing your order,please just wait.

只需要把 CA 服務器改成 Let's Encrypt 即可,雖然更改以后還是有概率出現 pending,但基本 2-3 次即可成功

acme.sh --set-default-ca --server letsencrypt

更高級的用法請參考: https://github.com/acmesh-official/acme.sh/wiki/How-to-issue-a-cert

DNS 驗證

如果你沒有服務器,沒有公網 IP,只需要 DNS 的解析記錄即可完成驗證。

手動驗證

這需要你手動在域名上添加一條 TXT 解析記錄,驗證域名所有權。

注意,如果使用手動驗證,acme.sh 將無法自動更新證書,每次都需要手動添加解析來驗證域名所有權。如果有自動更新證書的需求,請使用自動驗證(DNS API)。

acme.sh --issue --dns -d example.com -d www.example.com -d cp.example.com

然后,acme.sh 會生成相應的解析記錄顯示出來,你只需要在你的域名管理面板中添加這條 TXT 記錄即可。

等待解析完成之后,執行以下命令重新生成證書:

acme.sh --renew -d mydomain.com

注意這里現在用的是 --renew 參數

自動驗證(DNS API)

DNS 方式的真正強大之處在于可以使用域名解析商提供的 API 自動添加 TXT 記錄,且在完成驗證后刪除對應的記錄。

acme.sh 目前支持超過一百家的 DNS API。

以 DNSPod.cn 為例,你需要先登錄到 DNSPod.cn,拿到你的 DNSPod API Key 和 ID 并設置:

export DP\_Id="1234"export DP\_Key="sADDsdasdgdsf"

現在我們可以簽發通配符證書了:

acme.sh --issue --dns dns_dp -d example.com -d *.example.com

DP_Id 和 DP_Key 將保存在 ~/.acme.sh/account.conf 中,并在需要時自動獲取,無需手動再設置。

總結

acme.sh不僅是一個工具,更代表著自動化運維的理念革新,配合CI/CD流程,新項目上線完全不用操心證書問題。如果你也在為證書管理發愁,真心建議試試這個工具,我認為acme.sh是目前最好用的免費SSL證書管理工具!

開源地址

https://github.com/acmesh-official/acme.sh


閱讀原文:原文鏈接


該文章在 2025/8/15 12:35:51 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
亚洲专区动漫专区欧美专区日韩专区 | 中文精品久久久久鬼色 | 一本在线视频观看免费 | 亚洲深夜福利网站 | 亚洲欧美日韩v在线观看不卡 | 亚洲人曰屄在线视频 |