traefik/docs/content/middlewares/errorpages.md
Julien Salleyron d1d2611665 Handle TCP in the marathon provider
Co-authored-by: Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
2019-04-15 18:22:07 +02:00

2.3 KiB

ErrorPage

It Has Never Been Easier to Say That Something Went Wrong {: .subtitle }

ErrorPages

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

# 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"
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
  name: test-errorpage
spec:
  errors:
    status:
    - 500-599
    service: serviceError
    query: /{status}.html
"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"
}
# 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"
# Custom Error Page for 5XX
[http.middlewares]
  [http.middlewares.test-errorpage.Errors]
    status = ["500-599"]
    service = "serviceError"
    query = "/{status}.html"

[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

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`.

service

The service that will serve the new requested error page.

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.