Skip to main content

Error Pages

The Errors middleware returns a custom page in lieu of the default, according to configured ranges of HTTP Status codes.

info

The error page itself is not hosted by Traefik.


Configuration Example

apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: test-errors
spec:
errors:
status:
- "500"
- "501"
- "503"
- "505-599"
# The error page URL is based on the status code
query: /{status}.html
# Service that exposes the error page
service:
name: whoami
port: 80

Configuration Options

FieldDescriptionDefaultRequired
statusDefines which status or range of statuses should result in an error page.< br/>The status code ranges are inclusive (505-599 will trigger with every code between 505 and 599, 505 and 599 included).
You can define either a status code as a number (500), as multiple comma-separated numbers (500,502), as ranges by separating two codes with a dash (505-599),or a combination of the two (404,418,505-599).
""No
serviceThe Kubernetes Service that will serve the new requested error page.
More information here.
""No
queryThe URL for the error page (hosted by service).
More information here
""No

service and HostHeader

By default, the client Host header value is forwarded to the configured error service. To forward the Host value corresponding to the configured error service URL, the passHostHeader option must be set to false.

query

There are multiple variables that can be placed in the query option to insert values in the URL.

The table below lists all the available variables and their associated values.

VariableValue
{status}The response status code.
{url}The escaped request URL.