Skip to content

[Rules, WAF] Clarify Error Pages #22101

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Apr 30, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions src/content/docs/rules/custom-errors/edit-error-pages.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ To display a custom page for each error, create a separate page per error. For e

:::

You can use the following custom error template to start building your page:
You can use the following template to start building your error page:

```html
<html>
Expand All @@ -33,9 +33,9 @@ You can use the following custom error template to start building your page:
</html>
```

<Details header="Example Custom Page for 5XX errors">
<Details header="Example error page for 5XX errors">

The following HTML code is an example Custom Page for 5XX errors without styling:
The following HTML code is an example error page for 5XX errors without styling:

```html
<!doctype html>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ head:

Each custom error token provides diagnostic information or specific functionality that appears on the error page. Certain error pages require a page-specific custom error token.

To display a custom page for each error, create a separate page per error. For example, to create a custom error page for both **IP/Country Block** and **Interactive Challenge**, you must design and publish two separate pages.
To display a custom page for each error, create a separate page per error. For example, to create an error page for both **IP/Country Block** and **Interactive Challenge**, you must design and publish two separate pages.

The following custom error tokens are required by their respective custom error pages:
The following custom error tokens are required by their respective error pages:

| Token | Required for |
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ The errors covered in this document may occur when accessing a website proxied b

HTTP errors such as `409`, `530`, `403`, and `429` are returned in the HTTP status header of a response, while 1XXX errors appear in the HTML body of the response.

:::note[Custom Error Pages]
Cloudflare [Custom Errors](/rules/custom-errors/) allows customers to customize the default error pages discussed in this article.
:::note[Customize error pages]
Refer to [Custom Errors](/rules/custom-errors/) for instructions on customizing the default error pages discussed in this article.
:::

### Support and assistance
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ For more information on challenge actions, refer to [Cloudflare challenges](/fun

Setting a timeout shorter than the threshold causes the API to automatically increase the timeout to equal the threshold.

Visitors hitting a rate limit receive a default HTML page if a [custom error page](/rules/custom-errors/) is not specified. In addition, Business and Enterprise customers can specify a response in the rule itself. Refer to [Configure Advanced Response](#task-3-configure-advanced-response-only-business-and-enterprise-plans) for details.
Visitors hitting a rate limit receive a default HTML page if a custom [error page](/rules/custom-errors/) is not specified. In addition, Business and Enterprise customers can specify a response in the rule itself. Refer to [Configure Advanced Response](#task-3-configure-advanced-response-only-business-and-enterprise-plans) for details.

---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,16 +43,16 @@ Custom block response configurations will not be returned by the Firewall Rules

### Different error page for blocked requests

Requests blocked by a firewall rule with a _Block_ action would get a Cloudflare [1020 error code](/support/troubleshooting/http-status-codes/cloudflare-1xxx-errors/#error-1020-access-denied) response. Cloudflare users could customize this error page in **Custom Pages** > **1000 Class Errors**.
Requests blocked by a firewall rule with a _Block_ action would get a Cloudflare [1020 error code](/support/troubleshooting/http-status-codes/cloudflare-1xxx-errors/#error-1020-access-denied) response. Cloudflare users could customize this error page for a zone in **Error Pages** > **1000 class errors**.

Requests blocked by a WAF custom rule will get a different response: the WAF block response. To customize the default block response, you can either:

- Define a custom WAF block response for your entire zone in [**Custom Pages**](https://dash.cloudflare.com/?to=/:account/:zone/custom-pages) > **WAF Block**. This custom page will always have an HTML content type.
- Define a custom WAF block response for your entire zone in [**Error Pages**](https://dash.cloudflare.com/?to=/:account/:zone/error-pages) > **WAF block**. This error page will always have an HTML content type.
- [Define a custom response](/waf/custom-rules/create-dashboard/#configure-a-custom-response-for-blocked-requests) for requests blocked by a specific WAF custom rule. This custom response supports other content types besides HTML.

If you have customized your 1xxx error page in Custom Pages for requests blocked by firewall rules, you will need to create a new response page for blocked requests using one of the above methods.
If you have customized your 1XXX error page in Error Pages for requests blocked by firewall rules, you will need to create a new response page for blocked requests using one of the above methods.

For more information on custom Error Pages, refer to [Custom Errors](/rules/custom-errors/).
For more information on Error Pages, refer to [Custom Errors](/rules/custom-errors/).

### New Skip action replacing both Allow and Bypass actions

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ import { Markdown } from "~/components";
| Access: SSH Auditing Read | Grants read access to [Cloudflare Access SSH CAs](/cloudflare-one/connections/connect-networks/use-cases/ssh/ssh-infrastructure-access/). |
| Access: SSH Auditing {props.editWord} | Grants write access to [Cloudflare Access SSH CAs](/cloudflare-one/connections/connect-networks/use-cases/ssh/ssh-infrastructure-access/). |
| Account Analytics Read | Grants read access to [account analytics](/analytics/account-and-zone-analytics/account-analytics/). |
| Account Custom Pages Read | Grants read access to account-level [Custom Error Pages](/rules/custom-errors/). |
| Account Custom Pages {props.editWord} | Grants write access to account-level [Custom Error Pages](/rules/custom-errors/). |
| Account Custom Pages Read | Grants read access to account-level [Error Pages](/rules/custom-errors/). |
| Account Custom Pages {props.editWord} | Grants write access to account-level [Error Pages](/rules/custom-errors/). |
| Account { props.src === "dash" ? "Filter" : "Rule" } Lists Read | Grants read access to Account Filter Lists. |
| Account { props.src === "dash" ? "Filter" : "Rule" } Lists {props.editWord} | Grants write access to Account Filter Lists. |
| Account Firewall Access Rules Read | Grants read access to account firewall access rules. |
Expand Down
4 changes: 2 additions & 2 deletions src/content/plans/index.json
Original file line number Diff line number Diff line change
Expand Up @@ -1237,8 +1237,8 @@
"biz": 50,
"ent": 300
},
"x_custom_pages": {
"title": "Custom Error Pages",
"x_error_pages": {
"title": "Error Pages",
"free": "No",
"pro": "Yes",
"biz": "Yes",
Expand Down
Loading