Chain locations

fox red-fox0 на ya.ru
Чт Дек 26 08:14:07 UTC 2019


Попробуйте так:
location /data/ {
   try_files @proxy1 @proxy2 @proxy3 @proxy4 @proxy_to_fallback;
}

location @proxy1 {
  proxy_pass http://server1.s3.cloud.mts.ru;
}

location @proxy2 {
  proxy_pass http://server2.s3.cloud.mts.ru;
}

#…

location @proxy_to_fallback {
  proxy_pass http://xxxxxx.ru;
}

26.12.2019 14:49, Den Ivanov пишет:
> Имею задачу: искать запрошенный файл в N удаленных серверах по порядку. Если все сервера ответили 404 - проксировать на fallback сервер.
> 
> Если делаю вот так, то файл ищется только на server1 и server2, после чего выдает клиенту 404. Почему? Как это решить?
> 
>         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
> 



Подробная информация о списке рассылки nginx-ru