維護模式
維護模式允許管理員在維護期間限制系統存取。啟用維護模式後,只有管理員可以存取系統,而所有其他使用者將被阻止登入。此功能在維護期間提供受控存取,同時防止無限重新導向循環。
維護模式是一個系統級功能,允許管理員:
- 限制存取:在維護期間阻止非管理員使用者存取系統
- 管理員存取:管理員仍可存取系統以執行維護任務
- 使用者通訊:向使用者顯示清晰的維護訊息
- 輕鬆切換:透過管理介面啟用或停用維護模式
啟用維護模式
Section titled “啟用維護模式”要啟用維護模式:
- 以管理員身份登入
- 導航到 管理 → 伺服器 → 維護模式
- 將 “啟用維護模式” 開關切換到開啟
- 點擊 “儲存變更”
系統現在處於維護模式。非管理員使用者嘗試存取系統時將看到維護訊息。

停用維護模式
Section titled “停用維護模式”要停用維護模式:
- 以管理員身份登入(如果尚未登入)
- 導航到 管理 → 伺服器 → 維護模式
- 將 “啟用維護模式” 開關切換到關閉
- 點擊 “儲存變更”
系統現在可供所有使用者存取。
維護期間的存取控制
Section titled “維護期間的存取控制”啟用維護模式後,以下存取規則適用:
/login- 供管理員登入/admin/maintenance- 供管理員停用維護模式/api/*- 用於API存取(可能需要用於系統操作)
- 非管理員使用者的所有其他路由
- 根路由(
/)為非管理員使用者顯示維護訊息
對於非管理員使用者
Section titled “對於非管理員使用者”啟用維護模式後,非管理員使用者將:
- 在根路由上看到維護訊息
- 可以存取登入頁面(允許管理員登入)
- 看到清晰的訊息:「系統目前正在維護中。請稍後再試。」
管理員可以:
- 正常存取所有路由
- 存取維護頁面以停用維護模式
- 不受限制地執行維護任務
維護模式儲存在Payload CMS的MaintenanceSettings全域集合中。設定包括:
maintenanceMode:布林值欄位(預設:false)- 儲存在資料庫中以便持久化
- 可透過管理介面存取
系統包含適當的錯誤處理以防止無限重新導向循環:
- 在重新導向之前檢查是否已在根路由上
- 如果在根路由上,則拋出錯誤而不是重新導向
- 錯誤邊界顯示維護訊息
- 防止重新導向循環
HTTP狀態代碼
Section titled “HTTP狀態代碼”啟用維護模式時,系統返回:
- HTTP 503(服務不可用)狀態代碼
- 向使用者顯示清晰的錯誤訊息
- 在錯誤邊界中進行適當的錯誤處理
啟用維護模式之前
Section titled “啟用維護模式之前”- 通知使用者:提前通知使用者計劃的維護
- 計劃維護:在低流量期間安排維護
- 測試存取:驗證管理員仍可存取系統
- 準備回滾:了解如何在需要時停用維護模式
- 監控存取:確保管理員可以存取系統
- 完成任務:執行所有必要的維護任務
- 測試系統:驗證系統是否正常運作
- 停用模式:完成後停用維護模式
- 驗證存取:確認所有使用者都可以存取系統
- 檢查功能:測試關鍵功能以確保一切正常
- 監控日誌:檢查系統日誌是否有任何問題
- 使用者通訊:通知使用者維護已完成
無法存取維護頁面
Section titled “無法存取維護頁面”如果無法存取維護頁面:
- 確保您以管理員身份登入
- 檢查路由
/admin/maintenance是否可存取 - 驗證維護模式是否阻止了您的存取
- 嘗試先存取登入頁面
維護模式無法停用
Section titled “維護模式無法停用”如果維護模式無法停用:
- 驗證您是否以管理員身份登入
- 檢查管理介面中的錯誤訊息
- 驗證資料庫連線
- 檢查系統日誌中的錯誤
無限重新導向循環
Section titled “無限重新導向循環”如果遇到無限重新導向循環:
- 系統應自動防止這種情況
- 檢查您是否在根路由(
/)上 - 驗證錯誤邊界是否正常運作
- 檢查系統日誌中的錯誤
