Работает! Спасибо тебе, добрый человек :)

26 дек. 2019 г., в 19:32, Oleg A. Mamontov <oleg@mamontov.net> написал(а):

On Thu, Dec 26, 2019 at 05:49:22PM +1000, Den Ivanov wrote:
Имею задачу: искать запрошенный файл в N удаленных серверах по порядку. Если все сервера ответили 404 - проксировать на fallback сервер.

Если делаю вот так, то файл ищется только на server1 и server2, после чего выдает клиенту 404. Почему? Как это решить?

Посмотрите на директиву recursive_error_pages:
http://nginx.org/ru/docs/http/ngx_http_core_module.html#recursive_error_pages

      location /data/ {
              proxy_pass              http://server1.s3.cloud.mts.ru/data/;
              proxy_buffering         on;
              proxy_buffers           64 4k;

              proxy_intercept_errors  on;
              error_page              404 = @proxy_to_level1;
      }
      location @proxy_to_level1 {
              proxy_pass              http://server2.s3.cloud.mts.ru;
              proxy_buffering         on;
              proxy_buffers           64 4k;

              proxy_intercept_errors  on;
              error_page              404 = @proxy_to_level2;
      }
      location @proxy_to_level2 {
              proxy_pass              http://server3.s3.cloud.mts.ru;
              proxy_buffering         on;
              proxy_buffers           64 4k;

              proxy_intercept_errors  on;
              error_page              404 = @proxy_to_fallback;
      }
      location @proxy_to_fallback {
              proxy_pass              http://xxxxxx.ru;
              proxy_buffering         on;
              proxy_buffers           64 4k;
      }
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

-- 
Cheers,
Oleg A. Mamontov
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru