有三台机器,ABC,
所有请求都给A,然后A转发给BC,由BC处理业务
假设域名是bla.com
在机器A上,http 模块内写以下配置,访问bla.com
,访问到的是A默认页面
upstream bla.com {
ip_hash;
server 192.168.100.2;
server 192.168.100.3;
}
怎么样才能让所有的请求都按 ip_hash
转发给B,C
有三台机器,ABC,
所有请求都给A,然后A转发给BC,由BC处理业务
假设域名是bla.com
在机器A上,http 模块内写以下配置,访问bla.com
,访问到的是A默认页面
upstream bla.com {
ip_hash;
server 192.168.100.2;
server 192.168.100.3;
}
怎么样才能让所有的请求都按 ip_hash
转发给B,C
你的意思是, 不想让A服务器承担流量了?
在服务器A转发给后端时, 设置特殊的header
add_header HELLO Y;
B,C在发现有HELLO这个header时,立即返回302,让用户对B,C直接发起连接
if ($http_HELLO = 'Y'){
rewrite ^ http://$server_addr:$server_port$request_uri? redirect;
}
2 回答955 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
1 回答1.9k 阅读✓ 已解决
1 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读
2 回答556 阅读
https 负载均衡架构如图,与http区别不大
