Nginx – location change with 404 error page.

Nginx – location change with 404 error page. Simply. See the code below

upstream backend-main {
        server 10.10.10.1:80 max_fails=1 fail_timeout=30s;
	server 10.10.10.2:80 max_fails=1 fail_timeout=30s;
}
upstream backend-backup {
        server 10.10.10.3:80 max_fails=1 fail_timeout=30s;
	server 10.10.10.4:80 max_fails=1 fail_timeout=30s;
}
  location /main/ {
    proxy_intercept_errors on;
    proxy_pass  http://backend-main/main/;
    include     /opt/nginx/proxy_params;
    error_page 404 = @fallback;
    }
    location /second/ {
    proxy_intercept_errors on;
    proxy_pass  http://backend-main/second/;
    include     /etc/nginx/proxy_params;
    error_page 404 = @fallback;
    }
    location @fallback {
    rewrite_log on;
    proxy_pass  http://backend-backup;
    include     /etc/nginx/proxy_params;
    }

Как мы видим, если при обращении к основному бэкэнду в разных location попадается 404, бэкэнд перенаправляется на запасной backend-backup с помощью созданной переменной @fallback.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

 

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.