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