Перехват ошибок 404 и 50x во время проксирования

Предположим у нас есть сервер А проксирующий картинки с бекенд сервера Б. При этом мы не знаем, существует ли картинка на сервере Б. Перехватить ошибку 404, которую вернет Б и отдать дефолтную картинку можно так:

Дело в том, что директива proxy_intercept_errors отключена по умолчанию в прокси модуле и чтобы заработал перехват, её нужно включить. Ну а далее, при помощи директивы error_page мы можем перехватывать не только 404 ошибки, а например 50x ошибки бекенд сервера и делать любую дальнейшую логику с запросами. Например, перенаправлять их на альтернативный сервер, обеспечивая тем самым бесперебойную работу сайтов и т.п.

Оставить комментарий

Ваш адрес email не будет опубликован.