文件
一個 專案

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
}