如何申請與使用網域 SSL 憑證
在現代 Web 開發過程中,為你的網站啟用 HTTPS(藉由 SSL/TLS 憑證保護)愈來愈重要,即使是在本地端開發環境下也不例外。ServBay 提供方便的工具來管理及應用 SSL 憑證,幫助你模擬生產環境、測試安全功能,並確保本地開發流程順暢。
本文件將指引你如何在 ServBay 中申請、分配與管理 SSL/TLS 憑證。
網域 SSL/TLS 憑證簡介
SSL/TLS 憑證是一種數位憑證,用於驗證伺服器身份並加密用戶端(例如瀏覽器)與伺服器間的資料傳輸。安裝 SSL 憑證後,網站位址將由 http://
轉為 https://
,瀏覽器位址列上也會顯示安全鎖標誌,代表連線已加密且安全。
為何在本地開發環境中需要啟用 HTTPS?
- 模擬生產環境: 許多正式網站環境都強制使用 HTTPS。在本地端採用 HTTPS 能精確模擬生產環境,減少部署時的意外狀況。
- 測試安全功能: 某些現代瀏覽器功能(如 Service Workers、Web Authentication、地理定位 API 等)僅在安全上下文(HTTPS)下才支援。本地啟用 HTTPS 有助於開發和測試這些功能。
- 避免混合內容警告: 若網站以 HTTPS 運作但載入了 HTTP 資源(如圖片、腳本、CSS),瀏覽器會出現混合內容警告。本地端啟用 HTTPS 有助於事先發現並修正相關問題。
- HTTP/2 與 QUIC: 這些現代協定通常都需要 HTTPS 連線。
透過 ServBay 申請 SSL 憑證
ServBay 支援兩種主要申請 SSL 憑證的方法:利用 ServBay 內建 CA(憑證簽發機構)簽發本地信任憑證,或透過 ACME 協議(例如 Let's Encrypt)申請公開信任憑證。
前置條件
- 已安裝並啟動 ServBay。
- 已於 ServBay 中建立並設定欲應用 SSL 憑證的網站。
- 若需透過 ACME 申請公開信任憑證,須使用 DNS 驗證方式。
步驟:進入 SSL 憑證管理面板
於 ServBay 應用程式側邊欄點擊「SSL Certificates」即可進入憑證管理頁面。
方法一:使用 ServBay CA 簽發本地信任憑證
ServBay CA 是 ServBay 內建的憑證簽發機構。由 ServBay CA 簽發的憑證僅於信任該 CA 的裝置上有效。這非常適合本地開發環境,因為你可以輕鬆讓開發機器信任 ServBay CA。
- 點擊新增按鈕: 在「SSL Certificates」頁面右上點擊「+」按鈕。
- 填寫憑證資訊: 於「Request Certificate」頁面:
- Common Name(通用名稱): 為此憑證填寫一個易於識別的名稱,例如
ServBay Demo Website Cert
。 - Usage Purpose(用途): 選擇憑證用途,通常為
TLS/SSL
。 - Request Method(申請方式): 選擇
ServBay CA
。 - Issuer(簽發機構): 選擇
ServBay User CA
。ServBay 提供使用者層級的 CA 來簽發本地證書。 - Algorithm(演算法): 選擇加密演算法,推薦使用現代且高效的
ECC
。若需舊系統相容性可選RSA
。 - Key Length(金鑰長度): 選擇金鑰長度。ECC 建議
384
,RSA 建議2048
或4096
。金鑰愈長安全度愈高,但效能消耗也會增加。 - Domain(網域): 【重要】 輸入欲保護的網域清單。這些網域將寫入憑證的 Subject Alternative Names(SANs)欄位。本地開發可使用
.servbay.demo
網域(例如servbay.demo
、myproject.servbay.demo
),亦支援於本機 hosts 檔或 ServBay 設定中配置的其他網域。支援通配網域(如*.servbay.demo
),多組網域請以逗號隔開。
- Common Name(通用名稱): 為此憑證填寫一個易於識別的名稱,例如
- 點擊「Request」按鈕: 確認資訊無誤後,點選頁面底部「Request」按鈕。
ServBay 會立即以 ServBay User CA 簽發憑證,並加入列表中。
(圖示為 ServBay CA 申請介面範例)
如何信任 ServBay User CA?
為讓瀏覽器及相關應用程式信任由 ServBay CA 所簽發之憑證,你需要於作業系統中安裝並信任 ServBay User CA 根憑證。ServBay 在安裝時通常會自動安裝並信任此 CA,或可在 ServBay「設定」中找到相關安裝選項。安裝並信任後,使用 ServBay CA 簽發 .servbay.demo
或其他指定網域的憑證時,裝置就不會再顯示「不被信任」警告。
方法二:使用 ACME (Let's Encrypt) 申請公開信任憑證
ACME(自動化憑證管理環境,Automated Certificate Management Environment)為一整套自動申請及管理免費公開信任 SSL 憑證的協定,常與 Let's Encrypt 這類公開 CA 搭配使用。此類憑證在主流瀏覽器和裝置上皆預設信任。
- 點擊新增按鈕: 在「SSL Certificates」頁面右上點擊「+」按鈕。
- 填寫憑證資訊: 於「Request Certificate」頁面:
- Common Name(通用名稱): 指定易於識別的名稱。
- Usage Purpose(用途): 選擇
TLS/SSL
。 - Request Method(申請方式): 選擇
ACME
。 - Issuer(簽發機構): 選擇
Let's Encrypt
、ZeroSSL
或Google Trust Services
,代表透過 ServBay 與公開 CA 互動。 - Algorithm(演算法): 選擇
ECC
。 - Key Length(金鑰長度): 選擇金鑰長度。
- Domain(網域): 【重要】 輸入欲申請公開信任憑證的網域清單。這些必須為公開網域,且需具備網域控制權。ServBay 之後會透過 ACME 協議驗證你對網域的所有權。支援多組及通配網域(注意:申請通配網域通常需 DNS 驗證),以逗號分隔。
- Email(電子郵件): 輸入一組有效信箱,用於接收憑證過期通知等重要訊息,亦為 ACME 協議要求項目。
- DNS Provider(DNS 提供商): 選擇公開網域的 DNS 服務供應商,用來自動新增 DNS 記錄驗證網域所有權並完成 SSL 憑證簽發。
- 點擊「Request」按鈕: 確認資訊正確後,點選頁面底部「Request」按鈕。
ServBay 會開始 ACME 流程,與所選 CA 溝通,驗證網域所有權。此過程需視認證方式及網路狀態而定,可能需要一點時間。完成後,憑證即會加入列表裡。
ACME 憑證的自動續期功能:
ACME 申請的憑證有效期通常較短(例如 Let's Encrypt 為 90 天),ServBay 會自動管理續期,確保憑證在到期前自動更新,無需手動操作。
憑證分配與啟用
當你申請到 SSL 憑證後,需將它分配給 ServBay 裡指定的網站,方可啟用 HTTPS 存取。
- 進入網站管理: 於 ServBay 側邊欄點選「Websites」查閱網站列表。
- 編輯欲應用憑證之網站: 找到所需網站並點擊進入編輯。
- 設定 SSL: 在網站設定頁面,找到與 SSL/HTTPS 相關的區塊。
- 啟用 HTTPS 並選擇憑證: 勾選啟用 HTTPS,在憑證清單中選擇剛申請的那張 SSL 憑證(若為 ACME 申請則下拉選單顯示憑證通用名稱與網域)。
- 儲存設定: 儲存網站設定內容。
儲存後,ServBay 會自動重載相關網站伺服器設定(如 Caddy、Apache 或 Nginx),使新 SSL 憑證立即生效。之後即可透過 https://你的網域
存取該網站。
憑證管理
在「SSL Certificates」管理介面中,你可以進行各項憑證管理。
憑證續期
- ServBay CA 憑證: 此類憑證有效期較長(通常 800 天),到期前可於憑證列表內,點選右側續期(通常為刷新或循環圖示)手動續期。每次續期將新的有效期延展至當天起 800 日。
- ACME 憑證: ACME 憑證(例如 Let's Encrypt)則由 ServBay 自動管理續期,無需手動。
憑證匯出
已申請的 SSL 憑證可匯出,在某些情境下(如需於其他裝置/服務重複使用 ServBay CA 憑證,且該裝置已信任 ServBay CA)會很實用。
- 進入 SSL 憑證管理面板。
- 找到欲匯出的憑證。
- 點擊操作鈕: 於憑證右側點選匯出圖示(通常為右箭頭➡️)。
- 選擇匯出目錄: 彈出檔案儲存視窗後,選擇匯出後的存放位置。
- 分發憑證: 匯出後通常是一組 ZIP 檔,內容包含憑證(
.crt
或.cer
)、私鑰文件(.key
)及相關 CA 鏈文件。可依需要分發及安裝。
憑證刪除
若有憑證不再需要,可將其移除。
- 進入 SSL 憑證管理面板。
- 找到欲刪除的憑證。
- 點擊操作鈕: 於憑證右側點選刪除圖示(通常是垃圾桶圖案)。
- 確認刪除: 於彈出對話框中確認刪除動作。注意: 憑證刪除不可回復,且若該憑證正供某網站使用,需先將該網站切換至其他憑證或停用 HTTPS,否則可能導致網站無法連線。
常見問答 (FAQ)
Q: 為什麼我用 ServBay CA 簽發的憑證,瀏覽器仍顯示「不被信任」?
A: ServBay CA 預設不被作業系統或瀏覽器信任,你需於開發裝置上安裝並信任 ServBay User CA 根憑證。請參閱 ServBay 設定或官方說明文件查詢安裝方式。
Q: ACME(Let's Encrypt)憑證申請失敗怎麼辦?
A: ACME 申請失敗多與網域驗證未通過相關。
- 若使用
dns-01
驗證,請確認於網域註冊商或 DNS 服務商介面添加的 TXT 記錄完全正確,且 DNS 紀錄已生效(DNS 更新需等候)。 記得查閱 ServBay 日誌以獲取詳盡的錯誤原因。
Q: 我能於 ServBay 中為多個網域申請同一張憑證嗎?
A: 可以。在申請憑證時,「Domain」欄位可輸入多組網域並用逗號分隔,將建立一張包含全部網域的 SANs(多網域)憑證。
Q: ServBay 支援哪些網站伺服器?憑證設定可通用嗎?
A: ServBay 支援 Caddy、Apache 及 Nginx 等網站伺服器。憑證管理介面為統一設計,你所申請的憑證可以用於 ServBay 管理下任何支援 SSL 的網站,ServBay 會自動為底層伺服器進行設定。
總結
ServBay 為本地開發環境提供強大且操作簡便的 SSL 憑證管理功能。你可利用 ServBay CA,為本地網域快速簽發信任憑證,輕鬆測試與開發 HTTPS。透過 ACME 協議整合,亦能直接在 ServBay 中為公開網域申請與管理 Let's Encrypt、ZeroSSL、Google Trust Services 的公開信任憑證。熟悉這些功能,將有助於你打造更安全且契合現代標準的 Web 應用。
若你在申請或使用憑證過程遇到任何困難,建議隨時查閱 ServBay 官方說明或社群尋求協助。