nginx 反向代理 docker - 按位置过滤

nginx reverse proxy docker - filter by location

我正在关注这篇文章 http://jasonwilder.com/blog/2014/03/25/automated-nginx-reverse-proxy-for-docker/,我想知道如何按位置(检查 URL)设置请求的“过滤”。 例如,当请求到达 www.example.com/a 时,它将转到容器 A,当请求到达 www.example.com/b 时,它将被重定向到容器 B.

您可以配置两个上游并从 /a 重定向到第一个,从 /b 重定向到第二个。像这样:

    upstream first {
      server 172.17.0.4:5000;
      server 172.17.0.3:5000;
    }

    upstream second {
      server 172.17.0.5:5000;
    }

    server {
    ...

        location /a {
            proxy_pass http://first;
            include /etc/nginx/proxy_params;
        }

        location /b {
            proxy_pass http://second;
            include /etc/nginx/proxy_params;
        }
    }