traefik/docs/content/middlewares/errorpages.md

86 lines
2.3 KiB
Markdown
Raw Normal View History

# ErrorPage
It Has Never Been Easier to Say That Something Went Wrong
{: .subtitle }
![ErrorPages](../assets/img/middleware/errorpages.png)
The ErrorPage middleware returns a custom page in lieu of the default, according to configured ranges of HTTP Status codes.
!!! important
The error page itself is _not_ hosted by Traefik.
## Configuration Examples
2019-03-29 11:34:05 +00:00
```yaml tab="Docker"
# Dynamic Custom Error Page for 5XX Status Code
labels:
2019-04-01 15:56:04 +00:00
- "traefik.http.middlewares.test-errorpage.errors.status=500-599"
- "traefik.http.middlewares.test-errorpage.errors.service=serviceError"
- "traefik.http.middlewares.test-errorpage.errors.query=/{status}.html"
2019-03-29 11:34:05 +00:00
```
2019-04-03 12:32:04 +00:00
```yaml tab="Kubernetes"
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: test-errorpage
spec:
errors:
status:
- 500-599
service: serviceError
query: /{status}.html
```
```json tab="Marathon"
"labels": {
"traefik.http.middlewares.test-errorpage.errors.status": "500-599",
"traefik.http.middlewares.test-errorpage.errors.service": "serviceError",
"traefik.http.middlewares.test-errorpage.errors.query": "/{status}.html"
}
```
2019-04-08 15:14:08 +00:00
```yaml tab="Rancher"
# Dynamic Custom Error Page for 5XX Status Code
labels:
- "traefik.http.middlewares.test-errorpage.errors.status=500-599"
- "traefik.http.middlewares.test-errorpage.errors.service=serviceError"
- "traefik.http.middlewares.test-errorpage.errors.query=/{status}.html"
```
2019-03-29 11:34:05 +00:00
```toml tab="File"
# Custom Error Page for 5XX
[http.middlewares]
2019-07-01 09:30:05 +00:00
[http.middlewares.test-errorpage.errors]
2019-03-29 11:34:05 +00:00
status = ["500-599"]
2019-04-03 12:32:04 +00:00
service = "serviceError"
query = "/{status}.html"
2019-03-29 11:34:05 +00:00
[http.services]
# ... definition of error-handler-service and my-service
```
!!! note
In this example, the error page URL is based on the status code (`query=/{status}.html)`.
## Configuration Options
2019-04-03 12:32:04 +00:00
### `status`
The `status` that will trigger the error page.
The status code ranges are inclusive (`500-599` will trigger with every code between `500` and `599`, `500` and `599` included).
!!! Note
You can define either a status code like `500` or ranges with a syntax like `500-599`.
2019-04-03 12:32:04 +00:00
### `service`
The service that will serve the new requested error page.
2019-04-03 12:32:04 +00:00
### `query`
The URL for the error page (hosted by `service`). You can use `{status}` in the query, that will be replaced by the received status code.