Nginx - 一次转发到多个服务器?
Nginx - forwarding to multiple servers at once?
是否可以将 nginx 配置为向 n 个众所周知的位置发送请求并returns 从其中一个位置获得 20x 响应后立即响应?
如果有帮助,我 100% 保证只有一个主机响应,否则根本没有成功响应。
您可以设置一个负载平衡池,在其中删除在一段时间内没有响应的服务器。使用 ip_hash 使用粘性会话,其中相同的 IP 地址返回到同一服务器。如果会话信息未跨服务器共享,则对于维护会话很有用。 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;
}
}
}
是否可以将 nginx 配置为向 n 个众所周知的位置发送请求并returns 从其中一个位置获得 20x 响应后立即响应?
如果有帮助,我 100% 保证只有一个主机响应,否则根本没有成功响应。
您可以设置一个负载平衡池,在其中删除在一段时间内没有响应的服务器。使用 ip_hash 使用粘性会话,其中相同的 IP 地址返回到同一服务器。如果会话信息未跨服务器共享,则对于维护会话很有用。 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;
}
}
}