假设我有一个负载均衡器(Nginx或其他,无关紧要),我希望它能够路由到基于IP的机器。配置时不知道IP。因此,例如,我在机器m1和m2前面有一个负载平衡器。请求来自IP10并且它被路由到m1,来自IP10的所有后续请求也被路由到m1。另一个请求来自IP11,它被路由到m2,来自IP11的所有后续请求也被路由到m2。
这是可能的,如果是这样的话?
答案 0 :(得分:1)
从您的描述中我了解到,只要所有后续请求都遵循相同的路由,您就没有特定要求来自特定IP的第一个请求将被路由到何处。
如果是这种情况,您要执行的操作是称为会话粘性或持久会话的负载平衡方法。
在nginx中,您可以通过以下配置实现:
http {
upstream mybackend {
ip_hash;
server m1.ltd;
server m2.ltd;
}
server {
listen 80;
location / {
proxy_pass http://mybackend;
}
}
}
以下是指定nginx docs的链接。