recursive_error_pages

Директива `recursive_error_pages` управляет тем, обрабатываются ли страницы ошибок рекурсивно.

Синтаксисrecursive_error_pages on | off;
По умолчаниюoff
Контекстhttp, server, location
Аргументыflag

Описание

Директива recursive_error_pages может быть установлена в 'on' или 'off', позволяя пользователям включать или отключать рекурсивную обработку страниц ошибок. Когда эта директива установлена в 'on', если запрос сталкивается со страницей ошибки (например, 404 Not Found), NGINX попытается обработать эту страницу ошибок в рамках той же конфигурации, что потенциально позволит отдавать дополнительные страницы ошибок, если они сами встретят ошибки.

Эта директива полезна для упрощения обработки ошибок в сложных конфигурациях сайта, где сами страницы ошибок могут зависеть от дополнительных настроек конфигурации. Например, если страница ошибки также неправильно настроена, вместо немедленного возврата ошибки NGINX попытается обработать её в том же контексте конфигурации, что может привести к более понятному отображению ошибок для пользователей. Однако следует быть осторожным, чтобы не создавать циклы, когда страницы ошибок постоянно ссылаются друг на друга без разрешения.

Директиву можно размещать в любом контексте http, server или location, что даёт широкий контроль над тем, как управляются различные уровни обработки ошибок. Следует отметить, что включение рекурсивной обработки страниц ошибок может привести к дополнительным накладным расходам и усложнению в сценариях, где обработка ошибок может увеличить нагрузку на сервер.

Пример конфига

http {
    recursive_error_pages on;

    server {
        error_page 404 /custom_404.html;
    }
}
⚠

Включение recursive_error_pages может привести к неожиданным рекурсивным циклам, если страницы ошибок также неверно сконфигурированы. Будьте осторожны со сложными конфигурациями, включающими несколько уровней обработки ошибок.

⚠

Рекомендуется тщательно протестировать страницы ошибок при использовании этой директивы, чтобы обеспечить их корректную работу и избежать чрезмерной нагрузки на сервер.

← Ко всем директивам