Chain locations
Oleg A. Mamontov
oleg на mamontov.net
Чт Дек 26 09:32:21 UTC 2019
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 at nginx.org
>http://mailman.nginx.org/mailman/listinfo/nginx-ru
--
Cheers,
Oleg A. Mamontov
Подробная информация о списке рассылки nginx-ru