我的nginx配置中有3台服务器的上游。 我需要设置此配置才能优先... 如果我的server1已启动,则所有连接都会转到他身上。 如果我的server1关闭,则所有连接都转到服务器2 如果我的服务器2关闭,则所有连接都转到服务器3。
这可能吗?
我已经设置了ip_hash指令,并将指令备份设置为我的server2和我上游的3。 但这似乎不起作用。 你有什么建议吗?
是否可能添加一个条件,在我的server1中是404错误按顺序转到下一个服务器? 谢谢
这是我的nginx配置..但是当IP 192.168.10.1 nginx以循环模式进入192.168.10.2和192.168.10.3时,这对我的邮件网络服务器不利
upstream mail {
#ip_hash;
server 192.168.10.1:80;
server 192.168.10.2:80 backup;
server 192.168.10.3:80 backup;
#health_check;
}
server {
listen 443 ssl;
server_name mail.test.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
add_header Front-End-Https on;
proxy_pass http://mail;
}
}
答案 0 :(得分:2)
是的,您可能需要2个上游部分和1个额外的服务器部分,例如:
upstream backend {
server server1.net;
server 127.0.0.1:8010 backup;
}
upstream fallback {
server server2.net;
server server3.net backup;
}
server {
listen 127.0.0.1:8010;
location / {
proxy_pass http://fallback;
proxy_next_upstream invalid_header http_500 http_502 http_504 http_403;
}
}
我希望这个解决方案可以帮到你。
答案 1 :(得分:-1)
您可以使用" backup"将服务器标记为备份。设置上游时的指令。当所有正常上游服务器停止响应请求时,将使用这些服务器。
upstream backend {
server 1.0.1.1;
server 1.0.1.2 backup;
server 1.0.1.3 backup;
}