多个网站的NGINX负载平衡配置

多个网站的NGINX负载平衡配置,nginx,load-balancing,Nginx,Load Balancing,我有一个NGINX负载平衡器,后面有两个web服务器。它们都有相似的内容——在不同的域上托管相似的应用程序。现在,我的配置如下所示: upstream foosite { ip_hash; server 11.222.33.444; server 555.666.777.888; } upstream barsite { ip_hash; server 11.222.33.444; server 555.666.777.8

我有一个NGINX负载平衡器,后面有两个web服务器。它们都有相似的内容——在不同的域上托管相似的应用程序。现在,我的配置如下所示:

upstream  foosite  {
    ip_hash;
    server   11.222.33.444;
    server   555.666.777.888;
}

upstream  barsite  {
    ip_hash;
    server   11.222.33.444;
    server   555.666.777.888;
}

upstream  bazsite  {
    ip_hash;
    server   11.222.33.444;
    server   555.666.777.888;
}

server {
    listen 80;
    server_name foosite.*;

    location / {
        proxy_pass http://foosite;
        proxy_redirect off;
        proxy_buffering off;
        proxy_set_header        Host            $host;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
server {
    listen 80;
    server_name barsite.*;

    location / {
        proxy_pass http://barsite;
        proxy_redirect off;
        proxy_buffering off;
        proxy_set_header        Host            $host;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
server {
    listen 80;
    server_name bazsite.*;

    location / {
        proxy_pass http://bazsite;
        proxy_redirect off;
        proxy_buffering off;
        proxy_set_header        Host            $host;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
以下是静默:

1) 此配置是否适用于多个顶级域?比如foosite.com、foosite.org、foosite.net等

2) 如何为所有这些webistes启用子域?例如test.foosite.com、admin.foosite.com,而不让整个事情变得过于冗长

3) 看起来这个配置可以用更少的代码行编写,如何将所有3个上游定义合并为1,如何将3个服务器块合并为1

提前谢谢