SSL 憑證及 ServBay CA 故障排查
本文檔整理了於 ServBay 本地開發環境中遇到 SSL 憑證及 ServBay CA 常見問題的檢查與排解方法。
為什麼開啟瀏覽器會顯示 SSL 憑證不受信任?
當您在瀏覽器訪問由 ServBay 管理的本地網站時,若出現類似下方這些警告,通常代表 SSL 憑證安裝或信任配置有誤:
- Chrome / Edge:
Your connection is not private
(您的連線並非私人)- 錯誤代碼
NET::ERR_CERT_AUTHORITY_INVALID
- 錯誤代碼
NET::ERR_CERT_COMMON_NAME_INVALID
(雖然較罕見,卻可能因憑證與網域不吻合而產生)
- Firefox:
Warning: Potential Security Risk Ahead
(警告:存在潛在安全風險)- 點擊「進階」後可能會看到錯誤代碼
SEC_ERROR_UNKNOWN_ISSUER
- 錯誤代碼
SSL_ERROR_BAD_CERT_DOMAIN
(當憑證與網域不符合時出現)
- Safari:
This Connection Is Not Private
(此連線非私人連線)Safari can't verify the identity of the website "your-domain.test"
(Safari 無法驗證網站「你的網域.test」的身分)
出現此問題多半是因為 ServBay User CA
及 ServBay Public CA
未正確安裝或被系統信任。主要可能原因:
- ServBay 根憑證未添加至系統信任名單。
- 曾於 MAMP / Laravel Herd 等其它本地開發工具為同一個網域(例如
myapp.test
)生成過憑證,導致這些工具的憑證與 ServBay 的憑證相互衝突,或憑證系統本身出錯,使瀏覽器快取了錯誤的信任資訊或憑證。
解決辦法
請依照以下步驟操作:
- 開啟 ServBay
- 至 設定 (Settings),找到 ServBay Root CA 區塊。
- 點擊 重新安裝 ServBay Root CA (Reinstall ServBay Root CA),ServBay 會自動嘗試修復根憑證安裝及信任問題。
- 完全關閉並重新開啟瀏覽器(所有視窗及程序都要關閉,以清除憑證快取)。
- 重新訪問您的網站,此時 SSL 憑證錯誤應已排除。
若問題依舊:
多半是系統內有舊的、衝突或失效的憑證殘留,尤其曾用其它工具(如 MAMP、Herd)為同網域產生憑證。
- 開啟系統憑證管理工具:
- macOS: 開啟 鑰匙圈存取 (Keychain Access) 應用程式(可在「應用程式」>「工具程式」找到)。
- Windows: 按下 Win+R,輸入
certmgr.msc
,回車開啟憑證管理器。
- 在搜索框輸入出問題的網域(如
myapp.test
,若不確定也可搜尋mamp
或herd
關鍵字,找出相關憑證機構)。 - 在頂部「種類」篩選 憑證 (Certificates)。
- 在搜尋結果中,查找與輸入網域相關的所有 SSL 憑證,特別留意其簽發者 (Issuer) 是否為
ServBay User CA
,MAMP Development CA
,Laravel Herd CA
或其它類似名稱。 - 選取所有與問題網域相關的憑證(尤其非
ServBay User CA
發行,或看似可疑者),按下Delete
鍵刪除。可能需輸入系統密碼確認。請謹慎僅刪除和本地開發網域相關憑證。 - (選做,推薦) 再於鑰匙圈存取搜尋
ServBay User CA
及ServBay Public CA
,確認憑證存在且圖示沒有紅色「x」(代表不信任)。如有紅叉,雙擊憑證,展開「信任 (Trust)」部分,將「使用此憑證時 (When using this certificate)」設為「永遠信任 (Always Trust)」。 - 返回 ServBay 應用程式。
- 至 設定 (Settings) -> ServBay Root CA。
- 點擊 重新建立所有 ServBay User 憑證 (Recreate All ServBay User Certificates),為所有由 ServBay 管理的站台重新生成 SSL 憑證。
- 重新啟動電腦,以確保所有服務及系統組件讀取最新的憑證及信任設定。
- 重新開啟瀏覽器,再度訪問您的網站。
透過補充這些常見錯誤提示,使用者可更快速判斷自身問題是否與 SSL 憑證信任相關,並找到對應解決方法。
SSL 憑證遺失時怎麼辦?
在使用 ServBay 進行本地網站開發的過程中,有時會遇到 SSL 憑證檔案意外消失的狀況。這會造成您的 Web 伺服器(如 Nginx、Caddy 或 Apache)無法啟動或正確載入網站,並且在日誌中看到因憑證檔案問題導致的錯誤訊息。
故障現象
當 ServBay 為本地網站自動簽發的 SSL 憑證檔案 (.crt
及 .key
) 遺失後,您可能會在伺服器錯誤日誌中看到像這樣的訊息,主要是伺服器找不到或讀取不到指定憑證檔路徑。
以下為常見錯誤訊息範例:
Nginx 錯誤訊息:
log
nginx: [emerg] cannot load certificate "/Applications/ServBay/ssl/private/tls-certs/servb3ay.host/servbay.host.crt": BIO_new_file() failed (SSL: error:80000002:system library::No such file or directory:calling fopen(/Applications/ServBay/ssl/private/tls-certs/servb3ay.host/servbay.host.crt, r) error:10000080:BIO routines::no such file)
nginx: configuration file /Applications/ServBay/package/etc/nginx/nginx.conf test failed
1
2
2
Caddy 錯誤訊息:
log
Error: loading http app module: provision http: getting tls app: loading tls app module: provision tls: loading certificates: open /Applications/ServBay/ssl/private/tls-certs/servbay.host/ser3vbay.host.crt: no such file or directory
1
Apache 錯誤訊息:
log
AH00526: Syntax error on line 15 of /Applications/ServBay/package/etc/apache/vhosts/servbay.host.conf:
SSLCertificateFile: file '/Applications/ServBay/ssl/pri3vate/tls-certs/servbay.host/servbay.host.crt' does not exist or is empty
1
2
2
以上錯誤訊息核心都指向:伺服器設定指定的 SSL 憑證檔案路徑不存在或無法存取。
解決辦法
針對由 ServBay 自動簽發的 SSL 憑證,ServBay 具備自動偵測及重新簽發機制協助您恢復憑證文件。
請依下方步驟操作:
- 啟動 ServBay 應用程式: 確認 ServBay 位於執行狀態。
- 進入網站列表: 在 ServBay 左側導航列,點選 網站。
- 選擇受影響的網站: 從列表中選擇出現 SSL 憑證遺失的本地站台並點擊進入。
- 自動偵測與簽發: ServBay 於載入網站設定時,自動檢查指定的憑證檔案
.crt
、.key
是否存在。若偵測到檔案遺失,會自動重新簽發並部署新的憑證至/Applications/ServBay/ssl/private/tls-certs/您的網域/
。 - 重啟 Web 伺服器: 憑證檔案重建成功後,需重啟為該站台提供服務的 Web 伺服器套件(如 Nginx、Caddy 或 Apache),讓其載入新憑證。請至左側導航「套件」頁,找到您使用的伺服器,點選旁邊的重啟按鈕(通常是一個循環箭頭圖示)。
- 驗證問題已解決: 成功重啟伺服器後,於瀏覽器透過 HTTPS 再次存取本地網站(例如
https://您的網域
),應可正常連線並使用 HTTPS。
注意事項
- 此步驟僅適用於 ServBay 自動簽發之 SSL 憑證。若您使用自訂憑證(自行匯入),遺失後 ServBay 並不會自動重建,需手動恢復或重新申請並匯入憑證。
- ServBay 以內建 ServBay User CA 為本地網站簽發憑證,方便本地 HTTPS 環境運作。若仍出現憑證不被信任警告,可能是 ServBay User CA 未被作業系統或瀏覽器信任。請參考 ServBay 信任 ServBay CA 文檔進行設定。
- ServBay 提供資料備份功能,包括網站配置與 SSL 憑證。定期備份,有助於意外時迅速恢復資料。
常見問答 (FAQ)
Q: 為什麼 ServBay 會自動為本地網站簽發 SSL 憑證?
A: ServBay 致力於打造完整的本地開發環境。為了模擬正式環境並讓開發者方便調試 HTTPS 專案,ServBay 會透過內建 CA 自動為每個本地網站簽發 SSL 憑證,實現本地 HTTPS 存取。
Q: 可以使用自申請的 SSL 憑證嗎?
A: 可以,ServBay 支援匯入及使用您自行申請的 SSL 憑證(包含 ACME / Let's Encrypt 取得的憑證)。本故障排除指南僅適用於 ServBay 自動產生的憑證。
Q: 重新簽發憑證安全嗎?
A: 安全。於本地開發環境下,ServBay 所簽發之憑證只供本機開發、測試用,不會影響網站於公網的安全性。
總結
ServBay 為本地開發環境的 SSL 憑證管理提供便利方案。當 ServBay 自動簽發的 SSL 憑證檔案遺失時,經過簡單幾步操作,ServBay 可自動偵測並重建憑證,協助您快速恢復本地網站的 HTTPS 正常連線。