LINUX.ORG.RU
ФорумAdmin

Непонимание работы error_page для Nginx

 


0

1

Всем доброго дня! В ходе изучения работы nginx я столкнулся с error_page и при дальнейшем рассмотрении примера не понял конечного результата.

Был дан на оф. сайте следующий пример:

server { … location /images/ { # Set the root directory to search for the file root /data/www;

    # Disable logging of errors related to file existence
    open_file_cache_errors off;

    # Make an internal redirect if the file is not found
    error_page 404 = /fetch$uri;
}

location /fetch/ {
    proxy_pass http://backend/;
}

}

При несовпадении запроса с /images/ идет переброска на /fetch и проксирование на backend. Вопрос такой: что тогда произойдет в окне браузера? Мне высветится ошибка 404 благодаря директиве error_page или что-то еще, поскольку меня сбило с толку проксирование на proxy_pass?

В браузер будет передан результат работы локации /fetch/.

Какой там будет код ответа (404 или тот что с бекэнда пришёл) - не помню (вроде это настраивается ещё какими-то директивами), но html-данные будут точно с бекэнда.

error_page для того и нужно чтобы заменять стандартную nginx-страницу ошибки на что-то другое.

И вообще, что значит «При несовпадении запроса с /images/»? Всё что дальше написано - будет происходить как раз если урл начинается в /images/. error_page будет есть урл начинается с /images/, но запрошенного файла на диске нет.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 4)