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 может привести к неожиданным рекурсивным циклам, если страницы ошибок также неверно сконфигурированы. Будьте осторожны со сложными конфигурациями, включающими несколько уровней обработки ошибок.

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

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