是否可以按照向n个众所周知的位置发送请求的方式配置nginx,并在从其中一个位置获得20x后立即返回响应?
如果它有帮助,我100%保证只有一个主机响应或根本没有成功的响应。
答案 0 :(得分:1)
您可以设置负载平衡池,其中删除在时间范围内未响应的服务器。使用ip_hash使用粘性会话,其中相同的ip-address返回到同一服务器。如果不在服务器之间共享会话信息,则可用于维护会话。 nginx有一个记录良好的page,有各种选项。
http {
upstream my_pool {
ip_hash;
server 1.2.3.4 weight=3 max_fails=3 fail_timeout=20s;
server 1.2.3.5 weight=4 max_fails=3 fail_timeout=20s;
server 1.2.3.6 weight=3 max_fails=3 fail_timeout=20s;
}
server {
listen 80 ;
server_name domain.org www.domain.org;
location / {
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://my_pool;
}
}
}