http {
    # 定义多个后端服务的 upstream
    upstream backend_service1 {
        server 192.168.1.101:80;
        server 192.168.1.102:80;
    }

    upstream backend_service2 {
        server 192.168.2.101:80;
        server 192.168.2.102:80;
    }

    server {
        listen 80;
        server_name example.com;

        # 服务 1 的配置
        location /service1/ {
            proxy_pass http://backend_service1;
            proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504 http_404;
            proxy_intercept_errors on;
            error_page 404 = @fallback_service1;
        }

        location @fallback_service1 {
            proxy_pass http://192.168.1.103:80; # 服务 1 的备用后端
        }

        # 服务 2 的配置
        location /service2/ {
            proxy_pass http://backend_service2;
            proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504 http_404;
            proxy_intercept_errors on;
            error_page 404 = @fallback_service2;
        }

        location @fallback_service2 {
            proxy_pass http://192.168.2.103:80; # 服务 2 的备用后端
        }
    }
}