咨询GCP Network Load Balancer会话亲和性中Client Source IP的功能
GCP Network Load Balancer(TCP/SSL)中「Client Source IP」会话亲和性的作用
首先明确:这个选项和X-Forwarded-For(XFF)头完全无关,你最初的理解是错误的。它的核心功能是基于客户端的原始IP地址,将同一客户端发起的所有TCP/SSL请求固定转发到同一个后端实例,具体细节如下:
- 负载均衡默认行为:NLB作为第4层负载均衡,默认会按轮询、加权轮询这类算法把请求分发到健康的后端实例,同一个客户端的不同请求可能被转发到不同实例。
- 「Client Source IP」作用逻辑:开启这个选项后,NLB会对客户端的源IP地址进行哈希计算,根据哈希结果把该客户端的所有请求绑定到某一个特定后端实例上,绑定关系默认有效期为10分钟(可在配置中调整)。如果绑定的后端实例变为不健康状态,后续请求会被重新分发到其他健康实例。
- 和客户端IP获取的区别:NLB本身在转发TCP/SSL流量时,会保留客户端的原始源IP(第4层负载均衡的特性),后端实例无需依赖任何HTTP头,直接通过套接字就能获取到客户端真实IP——这个能力和是否开启「Client Source IP」亲和性没有关系。而XFF头是第7层(HTTP/HTTPS)负载均衡用来传递客户端IP的机制,NLB作为第4层LB不会处理或添加XFF头。
关于X-Forwarded-For(XFF)头的补充说明:
X-Forwarded-For是一个HTTP请求头字段,用于识别通过HTTP代理或第7层负载均衡器连接到Web服务器的客户端原始IP地址。当请求经过多个代理节点时,XFF头会按顺序记录每个节点的IP地址,格式为:
X-Forwarded-For: 客户端IP, 代理1IP, 代理2IP
内容的提问来源于stack exchange,提问作者Seong Gi Choi
相关产品推荐
相关产品推荐

