錯誤
在 HTTP 處理器鏈中觸發錯誤,並附上選用的訊息和建議的 HTTP 狀態碼。
此處理器不會寫入回應。相反地,它應與 handle_errors
指令配對,以呼叫自訂錯誤處理邏輯。
語法
error [<matcher>] <status>|<message> [<status>] {
message <text>
}
- <狀態> 是要寫入的 HTTP 狀態碼。預設為
500
。 - <訊息> 是錯誤訊息。預設為沒有錯誤訊息。
- 訊息 是提供錯誤訊息的另一種方式;如果錯誤訊息有多行,這會很方便。
明確來說,第一個非比對器引數可以是 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
}