文件
一個 專案

錯誤

在 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
}