← Правила Cloudflare / rules
Custom Errors
С помощью Custom Errors можно заменить стандартные страницы ошибок Cloudflare собственным содержимым. Пользовательское содержимое страницы ошибки показывается посетителям при возникновении ошибки HTTP, независимо от того, вызвана ли она исходным сервером, продуктом Cloudflare (включая Cloudflare Workers), или проверка безопасности.
Настроить пользовательское содержимое ошибок можно следующими способами:
- Error Page: HTML-страница, которая показывается посетителям сайта при возникновении определённой ошибки (см. различные типы страниц ошибок) или при отображении проверки безопасности. Error Pages можно определять на уровне зоны и на уровне аккаунта на платных тарифных планах, при этом конфигурации уровня зоны имеют приоритет.
- Custom Error Rule: определяет условия, при которых Cloudflare показывает посетителям пользовательскую страницу ошибки в случае ошибок HTTP (коды состояния
400и выше), а также точное содержимое, которое будет показано. Соответствующее custom error rule имеет приоритет над Error Page, настроенной на уровне аккаунта или зоны, которая применялась бы к той же ошибке.
Для использования Custom Errors необходимо, чтобы вы включить прокси для DNS-записей вашего домена (или поддомена) через Cloudflare.
Как это работает
У Cloudflare есть набор стандартных страниц для показа ошибок и challenges посетителям вашего сайта. Эти страницы можно настроить с помощью Error Pages и Custom Error Rules.
Когда ошибка типа определённый тип происходит, Cloudflare выполняет следующее:
- Поиск настроенной Error Page на уровне аккаунта для конкретной ошибки.
- Поиск настроенной Error Page на уровне зоны для конкретной ошибки (она будет иметь приоритет над Error Page уровня аккаунта, если таковая есть).
- Поиск подходящего пользовательского правила ошибки на уровне аккаунта. Это правило будет иметь приоритет над классы 500 и 1000 Error Pages на уровне аккаунта или зоны.
- Поиск подходящего пользовательского правила ошибки на уровне зоны. Это правило будет иметь приоритет над классы 500 и 1000 Error Pages на уровне аккаунта или зоны и над custom error rules на уровне аккаунта.
- Если правило безопасности, например Пользовательское правило WAF или правило ограничения частоты запросов инициирует пользовательский ответ блокировки вместо стандартной страницы блокировки Cloudflare WAF, ответ блокировки, заданный для правила, будет иметь приоритет над Error Pages или соответствующим пользовательским правилом ошибки.
- Если применяется хотя бы одна из перечисленных выше настроек, посетителю показывается пользовательское содержимое страницы ошибки. Если нет, отображается страница ошибки по умолчанию для конкретного типа ошибки в формате, который запросил клиент (JSON, Markdown или HTML). Подробнее о структурированных ответах об ошибках (JSON или Markdown) см. в Ответы с ошибками.
Доступность
Custom Errors доступны на всех платных тарифных планах. Точный набор функций зависит от вашего тарифного плана Cloudflare.
| Free | Pro | Business | Enterprise | |
|---|---|---|---|---|
| Доступность | Нет | Да | Да | Да |
| Количество правил | 0 | 25 | 50 | 300 |
| Количество ресурсов | 0 | 25 | 50 | 300 |
| Error Pages | Нет | Да | Да | Да |
| Origin Error Pages | Нет | Нет | Нет | Да |
Error Pages
Cloudflare использует широкий набор коды ошибок чтобы выявлять проблемы при обработке трафика запросов. По умолчанию на этих страницах ошибок упоминается Cloudflare, однако вы можете создать собственные страницы ошибок, чтобы обеспечить единообразный фирменный стиль для ваших пользователей.
Error Pages не применяются к ответам с кодом статуса HTTP 500, 501, 503, или 505. Эти исключения помогают избежать проблем с определёнными конечными точками API и другими веб приложениями. Вы всё равно можете настраивать ответы для этих кодов состояния с помощью Custom Error Rules.
Если у вас платный план Cloudflare, вы можете создавать пользовательские страницы ошибок на уровне зоны или для всего аккаунта. Страницы ошибок на уровне зоны имеют приоритет над страницами ошибок на уровне аккаунта.
Кроме того, клиенты с планом Enterprise могут настраивать страницы ошибок 5XX (кроме ошибок 520-527) на своём источнике, включив Origin Error Pages в Error Pages в панели управления.
Можно оформить пользовательские страницы ошибок, которые будут показываться во время security challenge или при возникновении ошибки. Подробнее о разных типах страниц ошибок см. в Типы страниц ошибок.
Custom Error Rules
Custom error rule определяет условия, при которых Cloudflare показывает посетителям пользовательский контент ошибки при HTTP ошибках (коды состояния 400 и выше), а также точное содержимое, которое будет показано посетителям.
При определении содержимого для показа укажите либо встроенный ответ, либо URL существующей веб-страницы. URL может указывать на веб-страницу или на другой ресурс, например на содержимое в формате JSON.
Когда вы указываете URL, Cloudflare собирает все необходимые изображения, CSS и код JavaScript и сохраняет минифицированную версию всей страницы в глобальной сети Cloudflare. Такой ресурс называется ресурс пользовательской ошибки, который можно использовать в одном или нескольких пользовательских правилах ошибок в той же области действия ресурса (зона или аккаунт).
Когда срабатывает пользовательское правило ошибки, Cloudflare заменяет тело ответа на ранее заданный вами ответ и, при необходимости, код статуса HTTP, отправляемый посетителю. Все существующие заголовки HTTP-ответа Cloudflare сохраняет, за исключением Content-Type и Content-Length.
Кроме того, вы можете настроить Response Header Transform Rules для ответов с ошибками, чтобы добавить, изменить или удалить заголовки HTTP из ответа.
Пользовательские правила ошибок имеют приоритет над Error Pages.
Custom Error Assets
Custom error asset соответствует веб-ресурсу, такому как HTML-страница (включая все связанные изображения, CSS и код JavaScript), который Cloudflare загружает и сохраняет по указанному вами URL, чтобы показывать его посетителям в качестве страницы ошибки.
После того как пользовательский ресурс страницы ошибки будет сохранён в глобальной сети Cloudflare, исходный URL-адрес можно больше не поддерживать доступным. Обновить существующий ресурс можно повторной загрузкой. В метаданных каждого ресурса хранится время последней загрузки, и эта информация отображается в панели управления.
Пользовательский ресурс ошибки можно использовать в одном или нескольких правила пользовательской ошибки в той же области, где вы определили ресурс (зона или аккаунт).
Ограничения по размеру
Когда вы указываете URL для пользовательского ресурса ошибки, Cloudflare загружает страницу и встраивает все связанные ресурсы прямо в HTML. Изображения и другие двоичные ресурсы (в том числе указанные в CSS через url(...)) встраиваются как data URL в кодировке base64. Файлы CSS и JavaScript встраиваются как обычный текст внутри <style> и <script> теги. Обработанная страница не должна превышать примерно 1.5 MB.
Если размер вашего пользовательского ресурса ошибки превышает этот лимит, уменьшите количество или размер связанных ресурсов. Также можно разместить крупные ресурсы на внешнем хостинге, при условии что они остаются доступны из сети Cloudflare в момент загрузки ресурса.