如何在 ServBay 中從 ZeroSSL 申請 SSL 憑證
ServBay 是一款強大的本機 Web 開發環境,支援使用 ACME(自動化憑證管理環境,Automated Certificate Management Environment)協議,自動申請與管理 SSL/TLS 憑證。這讓開發者可以輕鬆地為本地建置的網站配置 HTTPS,更完善地模擬生產環境,測試需 HTTPS 支援的功能(如 Service Worker、安全上下文 API 等)。本文將詳盡說明如何在 ServBay 中,透過 ZeroSSL 免費申請 SSL 憑證。
概述
藉由 ServBay 整合的 ACME 功能,您可以直接向受信賴的憑證簽發單位(CA),如 ZeroSSL,申請真實的、被大眾瀏覽器信任的 SSL 憑證。ServBay 會自動處理憑證申請、驗證(使用 DNS-01 挑戰)與續期,大幅簡化本機環境配置 HTTPS 的難度。
應用場景
- 模擬生產環境下的 HTTPS 設定於本機開發環境。
- 測試各種需要安全上下文(Secure Context)的 Web 功能,如 Service Worker、Web Authentication API、地理位置 API(在部分瀏覽器)、付款請求 API 等。
- 確保本機開發與生產環境的一致性,減少協議差異造成的問題。
- 為需公開存取(如經由內網穿透)的本地服務提供受信任的 SSL 憑證。
前置條件
在開始申請 ZeroSSL 憑證之前,請確認您已滿足以下條件:
- 擁有一個或多個網域名稱: 您需擁有自己管理的網域。這些憑證將簽發到您的網域,而不能用於
localhost
或 IP 位址。 - 可以管理網域的 DNS 記錄: ZeroSSL(透過 ACME 的 DNS-01 挑戰)會要求您於 DNS 新增特定 TXT 記錄來驗證網域所有權,因此您必須有權編輯 DNS 記錄。
- 取得 DNS 服務商之 API 金鑰: ServBay 利用 DNS API 全自動驗證 DNS 記錄。您需自網域註冊商或 DNS 服務供應商(如 Cloudflare、GoDaddy、阿里雲 DNS 等)取得 API 金鑰或存取令牌。不同廠商的 API 領取方式各異,通常至其用戶平台產生。您可參考 acme.sh Wiki 的 DNS API 部分 查找該服務商需提供的 API 金鑰名稱及申請方法(ServBay 所集成的 ACME 用戶端,DNS API 格式與 acme.sh 相容)。
申請步驟
以下為在 ServBay 中經由 ZeroSSL 申請 SSL 憑證的詳細流程:
啟動 ServBay 並開啟管理面板: 雙擊 ServBay 圖示啟動應用程式,然後從系統工具列圖示或選單進入 ServBay 管理面板。
進入 SSL 憑證管理介面: 於 ServBay 管理面板側欄中,找到並點擊 SSL 憑證。
新增憑證申請: 在憑證列表頁面右上角,點擊帶有加號(+)的按鈕,開啟憑證申請配置視窗。
填寫憑證申請資訊: 在彈出的 "Request Certificate"(申請憑證)視窗,請輸入以下關鍵資訊:
- Common Name(通用名稱): 為憑證自訂易辨識名稱,例如
servbay.demo SSL
,僅供 ServBay 內部識別。 - Usage Purpose(用途): 選擇
TLS/SSL
,表示該憑證將用於網路傳輸加密。 - Request Method(申請方式): 選擇
ACME
,即透過 ACME 協議自動申請。 - Issuer(簽發單位): 選擇
ZeroSSL
。 - DNS API Provider(DNS API 服務商): 從下拉選單中挑選網域所用的 DNS 廠商。ServBay 支援多數主流服務商。
- Algorithm(演算法): 建議選擇
ECC
(橢圓曲線加密),金鑰長度設成384
。ECC 384 具備與 RSA 相當安全性,且金鑰精簡,效能佳。 - E-Mail Address(電郵地址): 請填寫有效 email。ZeroSSL 或 ServBay 可能會以此聯絡您處理憑證到期或續期失敗等通知。
- DNS API Tokens(DNS API 令牌): 請輸入 DNS 服務商所要求的 API 金鑰,多為鍵值對格式(例如
CF_Key=xxx CF_Email=xxx
)。務必根據 DNS API Provider 與 acme.sh Wiki 提供的方式正確填寫。重要提示:API 資訊請勿加export
指令或 shell 語法,只需「鍵=值」或「鍵="值"」格式,多組資訊用空格區隔。 - Domain(網域): 輸入您擬申請憑證的網域,如需多網域(或通配符),以英文逗號
,
分隔,例如:servbay.demo, www.servbay.demo, *.servbay.demo
。注意,申請通配符憑證(*.yourdomain.com
)必須使用 DNS API 驗證。
(請注意:圖片示範網域名稱可能與本文範例不同,請以文字說明為準)
- Common Name(通用名稱): 為憑證自訂易辨識名稱,例如
送出申請: 仔細確認所填資訊無誤後,點擊視窗右下角 Request(申請)按鈕。
等待申請完成: ServBay 將於後台啟動 ACME 客戶端連線 ZeroSSL 伺服器,進行網域所有權驗證(會利用您提供的 DNS API 自動於您的網域建立並驗證 TXT 記錄),驗證成功後會自動獲取及安裝憑證。過程時間依 DNS 傳播速度與 ZeroSSL 回應快慢而異,介面將顯示進度。
核查憑證清單: 申請成功後,新憑證將出現在 SSL 憑證 列表,狀態顯示為 "Valid"(有效)。
憑證使用
憑證成功申請並加入 ServBay 後,您可以將其指派給本機網站使用:
- 進入網站設定: 於 ServBay 管理面板側欄點擊 網站。
- 選擇或編輯網站: 選擇需啟用 HTTPS 之既有網站,或創建新站台。
- 設定 SSL 憑證: 在網站設定介面 SSL 區塊,將下拉選單自預設(如 "None" 或 ServBay User CA)切換為 ACME。
- 選取已申請的憑證: 右方的 ACME 憑證下拉選單,選取您剛由 ZeroSSL 申請的憑證(根據 Common Name 辨識)。
- 儲存設定: 點擊儲存按鈕使設定生效。ServBay 會自動更新 Web 伺服器(如 Caddy 或 Nginx)設定,啟用 HTTPS。
(請注意:圖片示範網域名稱可能與本文範例不同,請以文字說明為準)
此時,您就能直接以 https://您的網域
存取您的本地網站。
憑證自動續期
ZeroSSL 頒發的憑證有效期通常為 90 天。ServBay 的 ACME 功能會自動監控憑證到期日,並於即將到期(一般在 30 天內)自動執行續期。只要 ServBay 持續運作且 DNS API 金鑰未失效,通常您無須手動介入即可完成續約。
重要事項與疑難排解
- DNS API 金鑰安全: 您的 DNS API 金鑰擁有更改 DNS 記錄的權限,請妥善保密,切勿外洩。
- DNS 傳播時效: 憑證申請需驗證 DNS TXT 記錄,DNS 更動全球傳播需時(通常數分鐘至數小時)。若申請失敗,請稍候再試。
- API 金鑰格式: 請確認所輸入的 DNS API 金鑰格式完全依據
acme.sh
Wiki 上相對應服務商的範例,切勿添加export
等 shell 指令前綴。這是常見錯誤來源。 - 防火牆設置: 請確認本地防火牆或網路未阻擋 ServBay 連線 ZeroSSL 及 DNS 服務商 API 伺服器。
- ServBay User CA 與 ZeroSSL 差異: ServBay 亦內建 ServBay User CA 及 Public CA,可在本機開發環境內透過信任根憑證方式實現 HTTPS。而 ZeroSSL 簽發的憑證屬公開信任,適合模擬生產環境或需經網路公開存取的場景。請依您的實際需求選擇合適類型。
總結
透過 ServBay 的 ACME 協議整合,您可輕鬆從 ZeroSSL 免費申請並全自動管理 SSL 憑證,迅速為本地開發網站啟用 HTTPS。不僅能完善模擬生產環境、測試安全性功能,更大幅提升開發效率。ServBay 自動化的申請與續期流程,讓本地 HTTPS 建置前所未有地簡單快速。