配置类问题
TCP超时时间配置?
指定TCP连接的超时时间,输入范围为10~4000间的整数,默认900秒。TCP超时时间过短会导致长期不用的链接中断,过长会导致后端服务器一直保持连接,建议您根据自己的后端服务程序的需求调整。
后端服务器可以向所在负载均衡实例发送请求吗?
负载均衡支持同一个BCC既作为客户端又作为服务器,此时BLB看到的 Client IP 和 Server IP 是一样的,需要注意的是源IP的转发规则不支持回环避免。您可以选择加权轮询、加权最小连接数的转发规则来实现回环避免。
健康检查的相关配置,是否有相对合理的推荐值?
关于健康检查的参数配置,提供如下参考建议:
- 健康检查端口:默认使用后端服务端口,如果有特殊需求,可以自定义。
- 响应超时时间:3秒
- 健康检查间隔:3秒
- 不健康阈值:3
- 健康阈值:3
一组云服务器可以搭建多个网站并同时进行负载均衡吗?
可以。
- 一个BLB实例最多支持20个服务监听配置,每个服务监听配置可以对应后端云服务器上的一个应用(BLB的前端端口对应后端BCC上应用服务端口)。
- 可通过对后端BCC上的多个应用,搭建多个网站并进行负载均衡。
负载均衡是否可以直接获取 Client 端 IP?
七层 IPv4 和 IPv6 负载均衡监听提供 X-Forwarded-For 的方式获取访问者真实 IP,负载均衡侧默认开启,需要后端服务做相应配置来获取 Client IP。
注意:如果客户端发给BLB的请求头已经包含了HTTP Header: X-Forwarded-For,BLB会改写X-Forwarded-For,将客户端真实IP以“,”为分隔符拼接在原内容之后,比如:原内容, 客户端真实IP。
四层IPv4 和 IPv6 负载均衡(TCP/UDP监听)服务因后端支持挂载多种类型的后端服务器(BCC/BBC/物理机/容器自定义Pod IP/专线对端各种类型服务器等),每种后端服务器类型由于网络架构限制需要采用不同的数据流转发,拿到Client IP的方式可能存在不一样的方式;常规BCC虚拟机与二代BBC以实例形态挂载在LB做后端服务器时,支持直接从 server 端获取真实的Client IP,无需额外配置。下述一些特殊场景不支持直接从 server 端获取真实的Client IP,需要特殊配置。
- IPv6 NAT64 负载均衡不支持直接获取Client IP, 可以选择启用ProxyProtocol协议以获取客户端源IP、源Port,访问目的IP、目的Port,访问协议,开启前请务必先配置后端服务器支持ProxyProtocol协议
- 以一代BBC、物理机、容器自定义Pod IP、专线对端各种类型服务器等或直接以IP组挂在四层负载均衡场景时,使用的是经典的fullnat转发模式, 负载均衡将报文中的源ip以SNAT转成给后端服务器的网段IP(当前是100.64.0.0/10网段),而把真实的Client IP地址放入TCP报文自定义Option 中或IP Option中,这样后端服务器无法获得真实源 IP,因此需要通过安装开源的 TTM 模块或选择启用ProxyProtocol协议进行获取。如需了解详情可提交工单联系技术支持。
同一个BLB是否可以配置两个https证书,分别监听443和442端口呢?
可以配置多个https证书。在监听设置中添加监听设置后,每一个https监听设置都可以选择一个服务器证书的。
一台服务器能否配置在2个不同的BLB上?
一台服务器可以添加到两个BLB中作为后端服务器。
BLB监听设置中,TCP监听和HTTP监听有什么区别吗?
4层(TCP协议)监听器支持加权轮询、最小连接数、源IP三种转发规则;7层(HTTP协议、HTTPS协议)监听器支持加权轮询、最小连接数两种转发规则;TCP是传输层协议,HTTP是应用层的协议。
负载均衡会得到多个IP,哪一个是终端用户的真实IP呢?
对于7层(HTTP协议、HTTPS协议)监听器,预先在配置BLB服务监听时开启“获取真实访问IP”的功能,可以通过HTTP Header: X-Forwarded-For获取,对于4层(TCP协议)监听器,无需任何配置即可获得来自外网的来访者真实IP;如果来访者是内网BCC,暂时无法获得来访者真实IP,也请您注意下如果客户端发给BLB的请求头已经包含了HTTP Header: X-Forwarded-For,目前BLB的处理逻辑是会在请求头里再额外添加一个新的HTTP Header: X-Forwarded-For,即请求头里会有两个HTTP Header: X-Forwarded-For,后一个是BLB添加的。
BLB怎么设置会话保持?
关于BLB会话保持的配置操作可以参考以下文档。
如何对BLB资源状况进行定期的全面检查?
您可开通“云顾问 Cloud Advisor”服务,定期获得云上资源在安全、可用性、性能、成本方面的检查报告。报告中包含若干BLB相关检查项目,如:BLB-监听安全、BLB-没有后端服务器、BLB-负载均衡等。了解或开通云顾问服务,请前往 云顾问主页
应用型BLB通过IP组挂载IDC侧的服务器健康检查失败?
IDC侧通过专线与VPC打通后,应用型BLB通过IP组挂载IDC侧的服务器健康检查失败,通常有两种解决方式:(1)配置100网段的健康检查路由;(2)用户配置最低优默认路由如0.0.0.0/0到专线网关。第二种用户这边如果没其它冲突会更友好,不用关注100网段路由。
关于内网回环问题的说明
为了避免把一个服务器既当client又当后端server,这样会导致client ip和server ip是一样的,导致访问不通,BLB调度里有回环避免的开关,默认现在是开启的。 所以当一个客户端要当后端服务器时,请至少绑定两个后端服务器,否则是会访问不通。当客户端访问负载均衡时,负载均衡会自动调度到非此客户端A的后端服务器上。 目前wrr(加权轮询调度)和wlc(最小连接数调度)可以在console界面上配置回环避免
四层负载均衡后端RS权重置为0与删除RS的区别
后端权重置为0:新建的连接不再调度转发到此后端服务器上,但存量的连接会继续转发,直到无流量超时断开连接或client/server结束连接为止; 删除 RS:新建连接都不会再调度转发到此后端服务器上,存量udp连接会不再转发,存量tcp连接虽然会继续转发,但存量tcp连接会设置加快老化时间; 另外注意wrr和wlc是带权重的调度策略,而rr是不带权重的调度策略,使用rr调度策略时调整后端权重为0没有作用
七层负载均衡后端RS权重置为0与删除RS的区别
HTTPS/HTTP/SSL_TCP 监听的后端权重置为0 和 删除 RS 当前逻辑几乎无区别:新建的连接不再调度转发到此后端服务器上,但存量的连接会继续转发,直到无流量超时断开连接或client/server结束连接为止。
监听上的连接数较少时,权重相同的wrr或rr调度策略的各个rs为何连接数不相同?
四层负载均衡上一个节点上有好几个worker线程,现在实现的wrr和rr调度就基于perworker的,也就是说每个worker的调度算法是单独调度的, 当监听上的连接数较少时,网卡RSS分配到各个worker的数据流的首包的数量并不完全一样,甚至有的worker有流量,有的worker没流量,这导致wrr和rr调度在各个worker线程上调度的结果也会有差异,所以会出现监听上的连接数较少时,权重相同的wrr或rr调度策略的各个后端rs连接数的差异; 当监听上的连接数很多时,网卡RSS分配到各个worker的数据流的首包的数量相对是均匀的,wrr和rr调度在各个worker之间也会相对比较均匀,所以后端rs连接数也会比较均匀;
四层负载均衡源地址哈希调度算法后端RS权重置为0仍能接收处理流量?
源地址哈希调度算法的实现中是不关注权重的调度策略,使用这个调度策略时调整后端RS权重为0不会起作用, 仍然可以新建连接或存量连接的报文转发给后端RS。
四层负载均衡删除后端服务器RS后,删除的RS上存量连接如何处理?
- 如果删除tcp或udp监听上的所有RS后,客户端发起的存量连接不再转发直到连接断开或超时,后端RS也接收不到报文。
- 对于tcp监听存在多个RS时,删除某一个RS后,对应这个RS上的存量连接默认会继续接收到转发报文,直到连接结束或超时。这种情况建议在RS删除时先主动关闭服务端正常结束连接。
- 对于udp监听存在多个RS时,删除某一个RS后,对应RS上的存量连接不再转发,后续报文触发新建并重新选择可用的RS。
如何启用WebSocket支持?
无需额外配置,当选用HTTP监听时,默认支持无加密版本WebSocket协议(WS协议);当选择HTTPS监听时,默认支持加密版本的WebSocket协议(WSS协议)。
是否支持在业务不中断的前提下,将共享型负载均衡升级为规格型负载均衡?
支持,在列表页面点击“性能调整”按钮进行变更。
LB支持上传证书吗?
不支持。LB是直接调用IAM证书服务的证书,需要您将证书上传至证书管理控制台,因此不支持在LB进行证书上传操作。 证书管理控制台在右上角安全认证中,或在负载均衡控制台左侧点击证书管理可以跳转到证书管理控制台
一个监听器可以绑定多少个 HTTPS 证书?
如果用户使用 HTTPS 单向认证,则一个监听只能绑定一个服务器证书;若用户使用 HTTPS 双向认证,则一个监听需要绑定一个服务器证书+一个 CA 证书。
证书区分地域吗?
不区分。证书购买和颁发后,安装部署不受地域的限制。
证书需要上传到后端服务器吗?
不需要,负载均衡 HTTPS 提供证书管理系统管理和存储用户证书,证书不需要上传到后端服务器,用户上传到证书管理系统的私钥都会加密存储。
HTTP和HTTPS使用同样的后端提供服务,访问HTTP监听正常,访问HTTPS监听出现排版错误,如何排查?
因BLB默认不会修改js文件的传输,所以建议您从以下方向进行排查
- 浏览器与证书安全级别的兼容情况
- 核验证书发布的正规情况,确保发布正规第三方证书
- 检查后端服务器代码,是否存在HTTPS页面加载HTTP资源情况。
BLB释放监听后,流量还是否继续转发?
释放后,对应监听的流量都不再转发到后端RS。
负载均衡是否可以直接获取 Client 端 IP地址?
七层 IPv4 和 IPv6 负载均衡监听提供 X-Forwarded-For 的方式获取访问者真实 IP,负载均衡侧默认开启,需要后端服务做相应配置来获取 Client IP。 注意:如果客户端发给BLB的请求头已经包含了HTTP Header: X-Forwarded-For,BLB会改写X-Forwarded-For,将客户端真实IP以“,”为分隔符拼接在原内容之后,形如:原内容, 客户端真实IP。 四层IPv4 和 IPv6 负载均衡(TCP/UDP监听)服务因后端支持挂载多种类型的后端服务器(BCC/BBC/物理机/容器自定义pod ip/专线对端各种类型服务器等),每种后端服务器类型由于网络架构限制需要采用不同的数据流转发,拿到client ip的方式可能存在不一样的方式; 常规BCC虚拟机与二代BBC以实例形态挂载在LB做后端服务器时, 支持直接从 server 端获取真实的 client IP,无需额外配置。下述一些特殊场景不支持直接从 server 端获取真实的 client IP,需要特殊配置。
- IPv6 NAT64 负载均衡不支持直接获取 Client IP, 可以选择启用ProxyProtocol协议以获取客户端源IP、源Port,访问目的IP、目的Port,访问协议,开启前请务必先配置后端服务器支持ProxyProtocol协议
- 以一代BBC、物理机、容器自定义pod ip、专线对端各种类型服务器等或直接以ip组挂在四层负载均衡场景时,使用的是经典的fullnat转发模式, 负载均衡将报文中的源ip以SNAT转成给后端服务器的网段ip(当前是100.64.0.0/10网段),而把真实的client ip地址放入TCP报文自定义 option 中或ip option中,这样后端服务器无法获得真实源 IP,因此需要通过安装开源的TTM模块或选择启用ProxyProtocol协议进行获取。请联系技术支持或提交工单详细了解
开启了通过X-Forwarded-For来获取客户端IP,但还是没拿到真实cip,如何排查?
若已经开通了 X-Forwarded-For来获取客户端ip,但还是没有拿到真实cip,可能是以下原因,建议进行排查
- 建议检查BLB上配置情况,确保X-Forwarded-For配置正确
- 建议检查协议情况,某些协议存在不支持 X-Forwarded-For头字段的情况,如WebSocket。
- 建议检查是否经过BLB后是否引入其他链路模块及其情况,如使用了代理服务器转发请求,有可能是代理服务器上未配置正确,影响后续的转发。
- 建议检查客户端情况,检查客户端是否存在删除或篡改 X-Forwarded-For头字段的可能性。
- 建议检查后段服务上解析情况,检查后段服务上是否正确解析了X-Forwarded-For头字段。
当负载均衡器正在运行过程是否可以调整后端RS的数量?
负载均衡支持在任意时刻增加或减少后端服务器的数量,且支持不同的后端服务器切换操作。但是为了保证您对外业务的稳定,请确保在执行上述操作的时候关注后端服务器的健康检查状态,保证负载均衡器后端至少有一台可以正常运行的服务器。
IPv6 BLB挂载BBC/BCC失败?
请先排查一下BCC/BBC是否已分配有IPv6地址。
百度BLB是否支持 ECC p256的 服务器证书与CA证书?
支持
BLB如何关联安全组?
方式一:1 登录VPC控制台,安全组访问控制下的安全组,创建对应的安全组。 2 登录负载均衡控制台,在左侧导航栏,选择负载均衡实例,找到具体实例,点击实例进入详细信息界面。 3 在实例详细信息界面选择安全组页面,点击关联安全组,即可绑定安全组。 方式二:1 登录VPC控制台,安全组访问控制下的安全组,创建对应的安全组。 2 在安全组详情页面选择关联负载均衡,即可为对应的BLB关联安全组。
如何修改监听的健康检查配置?
- 登录负载控制台,在左侧导航栏,选择应用型负载实例,找到具体实例,点击实例进入详细信息界面。
- 在实例详细信息界面选择目标组 > 服务器组/IP组 页面,找到目标服务器/IP组,点击端口协议列的编辑按钮。
- 在健康检查设置对话框,根据需求修改健康检查配置。然后单击确定。
负载均衡健康检查探测源 IP 网段是100.64.0.0/10?
负载均衡使用了100.64.0.0/10 网段内的地址做为健康探测源 IP,无需在购买云主机后端服务器的安全组中额外针对该网段配置放行策略。 另外若在后端服务器中配置 iptables 等其他安全策略,请务必放行该网段,否则将会导致健康探测失败。
健康检查提示异常该如何处理?
当健康检查提示异常时,请按如下步骤进行排查: 检查后端服务器已开启了相应的服务端口。 检查后端服务器内部是否有防火墙之类的防护软件,拦截健康检查报文。 检查后端服务器上没有做 iptables 规则限制。 检查客户端直接访问后端服务器应用服务是否可以成功。 检查负载均衡检查参数设置是否正确。 七层负载均衡建议使用静态页面来健康检查。 检查后端服务器是否有高负载导致服务器对外响应慢。
健康检查提示正常,无法访问业务需要如何处理?
查看负载均衡监听上是否访问控制列表、安全组等访问策略限制了客户端访问,确保客户端被放行; 若调度算法为wlc、wrr等带有权重属性的算法,查看RS上配置的权重是否是0,如果是0,则将权重修改为大于0的值; 查看当前负载均衡的带宽使用量是否超过购买的带宽; UDP监听配置ICMP健康检查,检查后端RS服务端口是否已启动;
BLB的健康检查频率是否过高?
BLB通过探测后端服务器的健康检查状态,来判断后端服务的可用性。 服务器必须是通过连续n次的探测,且探测结果均为健康才会视后端服务业务正常。 其中n 即为健康检查阈值,为了避免受到网络抖动的影响,进行多次健康检查是有必要的。 若用户感知过于频繁,可通过自行修改健康检查配置进行调节。
BLB 的控制台上后端服务器健康检查状态的转变生效时间是多少?
这个状态更新的时间与所处地域实例数有关, 实例数越多, 更新时间会越长. 四层协议对应的 RS 健康检查状态更新时间 <= 150s 七层协议对应的 RS 健康检查状态更新时间 <= 240s 目前控制台RS状态展示逻辑为独立的逻辑,只影响控制台展示,实际业务不受此影响。
为什么100网段的IP在访问后端服务器?
100开头的IP所属网段为100.64.0.0/10。负载均衡实例以该网段IP作为源地址,向后端服务器做健康检查探测和特殊转发数据流模式时转发前端业务流量使用。 因此,为了保证您所配置的负载均衡实例可正常提供服务,请确保后端服务器的 iptables 安全策略已放通100.64.0.0/10网段。
lb实例开启cip透传,为什么Server上还能收到100.64.0.0/10 网段内的地址建连?
负载均衡使用了100.64.0.0/10 网段内的地址做为健康探测源 IP,一般使用.3和.4结尾的IP作为源ip向Server发健康探测报文,不会对业务有影响,属于正常行为。
为什么Server上还能收到大量100.64.0.0/10 网段内,以.3和.4结尾的IP作为源ip向Server建连?
一个blb集群有多台物理机构成,每台机器都会使用.3和.4结尾的IP对Server做健康检查探测,所以同一台Server上可以看到不同的在100.64.0.0/10 网段内,以.3和.4结尾的IP作为源ip向Server建连。
负载均衡实例的后端服务器状态怎么查看?
负载均衡查看后端服务器状态有两种方式:
- 登录百度智能云控制台,在左侧导航栏,选择负载均衡 BLB->选择对应的实例->详情页选择后端服务器 即可查看实时后端服务器健康检查状态
- 登录百度智能云控制台,在左侧导航栏,选择负载均衡 BLB->选择对应的实例->详情页选择监控 在端口监控中可以查看后端服务器正常/异常数量
负载均衡实例添加后端服务器后,后端服务器过多久开始承载流量?
负载均衡实例挂载新的后端服务器时,默认后端服务器为不可用状态,当后端服务器通过健康检查之后,后端服务器状态转变为可用状态。此时,后端服务器才会开始承载流量。 因此,新添加的后端服务器生效时间,与健康检查生效时间有关。 当后端服务为正常的情况下, 健康检查最长生效时间 = 健康检查超时时间 健康检查次数 + 健康检查间隔时间 (健康检查次数 - 1) 默认健康检查配置下,健康检查最长生效时间 = 3s 3 + 3s 2 = 15s. 在用户在控制台操作添加后端服务器后,配置下发网关设备还需要一定的时间,实际场景中,也需要把这一部分考虑上。此部分和集群配置规模存在一定的关系,一般可以认为在 30s 之内。 所以,用户在控制台上操作挂载一个服务状态正常的后端服务器之后,默认健康检查配置下,最久 45s 后该服务器就实际承载流量了。
在后端服务器上看到了很多100段 IP 发过来的健康检查请求,这个后面会减少吗?
负载均衡实例对后端服务器进行健康检查,都是使用的100段 IP。在分集群之前,后端服务器会被整集群的机器进行健康检查,可能会存在上述现象。 当前负载均衡实例各个集群已经采用分集群架构,单个用户后端服务器只会被所在的分集群进行健康检查,该类健康检查请求已相对减少。