error
在 HTTP 處理程序鏈中觸發錯誤,可選擇性地包含訊息和建議的 HTTP 狀態碼。
此處理程序不會寫入回應。相反地,它旨在與 handle_errors
指令配對使用,以調用您的自訂錯誤處理邏輯。
語法
error [<matcher>] <status>|<message> [<status>] {
message <text>
}
- <status> 是要寫入的 HTTP 狀態碼。預設值為
500
。 - <message> 是錯誤訊息。預設值為無錯誤訊息。
- message 是提供錯誤訊息的另一種方式;如果訊息為多行時很方便。
為了釐清,第一個非匹配器參數可以是 3 位數的狀態碼,或錯誤訊息字串。如果它是錯誤訊息,則下一個參數可以是狀態碼。
範例
在特定請求路徑上觸發錯誤,並使用 handle_errors
來寫入回應
example.com {
root * /srv
# Trigger errors for certain paths
error /private* "Unauthorized" 403
error /hidden* "Not found" 404
# Handle the error by serving an HTML page
handle_errors {
rewrite * /{err.status_code}.html
file_server
}
file_server
}