【发布时间】:2015-10-15 21:00:36
【问题描述】:
我设置了 3 个 nginx 服务器。备份 Web 服务器和主服务器都具有相同的 ../sites-enabled 和 ../sites-available 目录。第三台服务器充当负载平衡器,通过配置指向备份服务器和主服务器:
upstream myapp1 {
server 1.1.1.1; #home server
server 2.2.2.2 backup; #backup server
}
server {
listen 80;
location / {
proxy_pass http://myapp1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
但是当我测试备份服务器是否正常工作时,我遇到了一个问题(下面会以图形方式解释),因为它似乎只在主服务器打开时才工作!
1. test.foo.com -> Backup Web Server
2. foo.com -> Load Balancer
3. www.foo.com -> Home server
-> 表示指向
什么都没有发生时:
- 1 returns OK
- 2 returns OK
- 3 returns OK
当主服务器关闭时:
- 1 returns 504 **(SHOULD BE OK)**
- 2 returns 504 **(SHOULD BE OK)**
- 3 returns DNS error
当负载均衡器关闭时:
- 1 returns OK
- 2 returns DNS error
- 3 returns OK
当备份 Web 服务器关闭时:
- 1 returns DNS error
- 2 returns 200
- 3 returns 200
【问题讨论】:
标签: nginx load-balancing