GetHTTPS 和 acme.sh 都能簽發來自 Let’s Encrypt 的免費 SSL 憑證。GetHTTPS 在瀏覽器中執行,零安裝。acme.sh 是一個輕量級 shell 指令碼,以一般使用者身分執行(無需 Root),支援透過 cron 自動續簽。
快速比較
| GetHTTPS | acme.sh | |
|---|---|---|
| 執行環境 | 瀏覽器 | Shell(bash/sh/zsh) |
| 安裝 | 無需安裝 | curl ... | sh 或 git clone |
| 需要 Root/sudo | 否 | 否(相比 Certbot 的獨特優勢) |
| 自動續簽 | 否 | 是(cron 任務) |
| 私鑰產生 | 瀏覽器(Web Crypto API) | 伺服器(openssl) |
| 驗證類型 | HTTP-01, DNS-01 | HTTP-01, DNS-01, TLS-ALPN-01, DNS alias |
| DNS API 外掛 | 無(手動 DNS) | 150+ DNS 服務商 |
| 提交前預檢 | ✅ | ❌ |
| 多 CA 支援 | 僅 Let’s Encrypt | Let’s Encrypt, ZeroSSL, Buypass, Google 等 |
| 設定檔 | 無 | ~/.acme.sh/ |
| 相依性 | 現代瀏覽器 | openssl, curl/wget, cron |
| 開源 | 否 | 是(GPL v3) |
何時使用 GetHTTPS
- 零安裝 — 伺服器上無需安裝、設定或維護任何東西
- 無需命令列 — 瀏覽器介面對非技術使用者更友善
- 隱私 — 私鑰在瀏覽器中產生,從不儲存在伺服器上
- 快速一次性憑證 — 測試環境、預備環境、協助他人
何時使用 acme.sh
- 自動續簽 — 基於 cron 的續簽,無需 Root 權限
- DNS API 整合 — 對 150+ 服務商(Cloudflare、Route 53 等)自動完成 DNS-01 驗證
- 無需 Root — 與 Certbot 不同,acme.sh 以一般使用者身分執行
- 多 CA — 可從 Let’s Encrypt、ZeroSSL、Buypass、Google Trust Services 簽發
- 進階功能 — DNS alias 模式、通知鉤子、部署鉤子
結論
| 你的情況 | 使用 |
|---|---|
| 無伺服器存取 / 一次性憑證 | GetHTTPS |
| 需要無 Root 的自動續簽 | acme.sh |
| 非技術 / 偏好圖形介面 | GetHTTPS |
| 需要 DNS API 自動化 | acme.sh |
| 最高等級的私鑰隱私 | GetHTTPS |
| 正式環境伺服器,長期使用 | acme.sh 或 Certbot |
兩者都是優秀的工具。GetHTTPS 在簡潔性和隱私方面勝出。acme.sh 在自動化和 DNS 整合方面勝出。它們簽發的是相同的 Let’s Encrypt 憑證。
安裝比較
GetHTTPS
在瀏覽器中開啟 gethttps.com/app/setup。
完成。
acme.sh
# 安裝(無需 Root)
curl https://get.acme.sh | sh -s email=you@example.com
# 簽發憑證
~/.acme.sh/acme.sh --issue -d example.com -w /var/www/html
# 自動續簽已透過 cron 自動設定
crontab -l | grep acme.sh
acme.sh 安裝到你的主目錄 ~/.acme.sh/。它新增一個 cron 項目每天檢查兩次續簽。無需系統層級的變更。
DNS-01 自動化:acme.sh 的殺手級功能
acme.sh 內建了 150+ DNS 服務商的 API 整合。這意味著可以全自動簽發萬用字元憑證,無需手動修改 DNS:
# Cloudflare 範例
export CF_Token="your-api-token"
~/.acme.sh/acme.sh --issue -d "*.example.com" --dns dns_cf
# AWS Route 53 範例
export AWS_ACCESS_KEY_ID="..."
export AWS_SECRET_ACCESS_KEY="..."
~/.acme.sh/acme.sh --issue -d "*.example.com" --dns dns_aws
GetHTTPS 需要你手動新增 DNS TXT 記錄來取得萬用字元憑證。對於一次性萬用字元憑證這沒問題,但如果你在多個網域上頻繁續簽,acme.sh 的 DNS API 自動化能節省大量時間。
隱私比較
| 方面 | GetHTTPS | acme.sh |
|---|---|---|
| 金鑰產生 | 瀏覽器(Web Crypto API) | 伺服器(openssl) |
| 金鑰儲存 | 你的下載資料夾 | 伺服器上的 ~/.acme.sh/ |
| 金鑰暴露 | 從不存在於任何伺服器 | 存在於執行 acme.sh 的伺服器上 |
| 遙測 | 無 | 無 |
GetHTTPS 具有嚴格的隱私優勢:金鑰只存在於你的瀏覽器中。使用 acme.sh 時,金鑰儲存在伺服器上 — 這對於伺服器管理的憑證來說是正常的,但意味著任何能存取該使用者帳號的人都能讀取金鑰。
常見問題
acme.sh 比 Certbot 好嗎?
不同的工具,不同的長處。acme.sh 不需要 Root,內建 150+ DNS 外掛,是一個單獨的 shell 指令碼(約 7000 行 bash)。Certbot 有 Nginx/Apache 自動設定但需要 snap/pip 且通常需要 Root。對大多數命令列使用者來說,兩者都好用。查看我們的 Certbot 比較 →
可以兩個都用嗎?
可以。使用 GetHTTPS 取得第一張憑證(無需設定時間),然後安裝 acme.sh 進行後續自動續簽。PEM 檔案是標準格式 — acme.sh 可以為同一網域續簽最初由 GetHTTPS 建立的憑證。
acme.sh 能在 macOS 上執行嗎?
可以。acme.sh 是純 shell 指令碼,能在任何配備 bash/sh、curl 和 openssl 的類 Unix 系統上執行 — 包括 macOS、Linux、FreeBSD,甚至 Windows WSL。