我有一台NGINX负载均衡器,后面有两个网络服务器。它们都有类似的内容 - 在不同的域上托管类似的应用程序。现在我的配置看起来像这样:
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)如何为所有这些网站启用子域名?例如test.foosite.com,admin.foosite.com没有让整个事情过于冗长?
3)看起来这个配置可以用更少的代码行编写,如何将所有3个上游定义合并为1,如何将3个服务器块合并为1?
提前致谢。