mirror of
https://github.com/caddyserver/website.git
synced 2025-04-22 21:16:15 -04:00
docs: Add error
caddyfile directive (#143)
Docs for the new directive in https://github.com/caddyserver/caddy/pull/4034. Also adding a bit in `handle_errors` mentioning that `reverse_proxy` doesn't trigger errors when a response has an "error" HTTP status; not sure how to word this clearly, cause `reverse_proxy` still can trigger errors if there's no upstream or whatever. We should probably add examples for that later, and augment this paragraph to mention `handle_response` once that's merged (https://github.com/caddyserver/caddy/pull/4021)
This commit is contained in:
parent
b0324a9470
commit
9dc0156ceb
3 changed files with 55 additions and 2 deletions
46
src/docs/markdown/caddyfile/directives/error.md
Normal file
46
src/docs/markdown/caddyfile/directives/error.md
Normal file
|
@ -0,0 +1,46 @@
|
|||
---
|
||||
title: error (Caddyfile directive)
|
||||
---
|
||||
|
||||
# error
|
||||
|
||||
Triggers an error in the HTTP handler chain, with an optional message and recommended HTTP status code.
|
||||
|
||||
This handler does not write a response. Instead, it's meant to be paired with the [`handle_errors`](handle_errors) directive to invoke your custom error handling logic.
|
||||
|
||||
|
||||
## Syntax
|
||||
|
||||
```caddy-d
|
||||
error [<matcher>] <status>|<message> [<status>] {
|
||||
message <text>
|
||||
}
|
||||
```
|
||||
|
||||
- **<status>** is the HTTP status code to write. Default is `500`.
|
||||
- **<message>** is the error message. Default is no error message.
|
||||
- **message** is an alternate way to provide an error message; convenient if it is multiple lines.
|
||||
|
||||
To clarify, the first non-matcher argument can be either a 3-digit status code, or an error message string. If it is an error message, the next argument can be the status code.
|
||||
|
||||
## Examples
|
||||
|
||||
Trigger an error on certain request paths, and use [`handle_errors`](handle_errors) to write a response:
|
||||
|
||||
```caddy
|
||||
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 * /{http.error.status_code}.html
|
||||
file_server
|
||||
}
|
||||
|
||||
file_server
|
||||
}
|
||||
```
|
Loading…
Add table
Add a link
Reference in a new issue