文档
a 项目

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
}