负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台云服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。

腾讯云 CLB 是一种对多台云服务器 CVM 进行流量分配的服务,它可以自动分配云中多个 CVM 实例间应用程序的访问流量,提升应用系统的访问流畅度和容错能力,从而满足用户访问应用系统的不同场景。

CLB 具备自助管理、自故障修复、防网络攻击等高级功能,适用于企业、社区、电子商务、游戏业务等领域,它提供了多个 CLB 实例,您可以按照自身需求选择购买不同的 CLB 实例配备到您的应用环境当中。购买 CLB 的费用包括实例租用费和后端服务器的带宽流量费,其中带宽流量费采用灵活的按量计费模式,按实际使用量付费。CLB 支持控制台、命令行、SDK 等多种管理工具来启动、监控或终止您的 CLB 实例。您可以随时开通或销毁 CLB 实例,为您的使用节省更多成本。

功能

腾讯云 CLB 提供多种强大功能,帮助您实现更高水平的应用程序负载均衡和容错能力。

多协议转发

负载均衡 CLB 支持四层协议请求(包括 TCP、UDP 协议)和七层协议请求(包括 HTTP、HTTPS 协议);集中化的证书管理系统支持 HTTPS 协议,数据传输更快速、更安全可靠。

权重配置

权重配置可使后端 CVM 的请求处理更快速,后端服务器的权重默认为 10,可设置为 1-100 范围内的整数。流量经 CLB 后按权重比例,或经过访问来源 IP 地址的哈希、轮询结果分配到不同后端服务器上。更高配置(CPU、内存性能等)的服务器,可支持设置更大权重的比例,承担更多的请求。

基于内容路由

应用型 CLB 七层协议提供基于内容的路由转发(Content-based Routing),支持用户自定义域名/URL,支持自定义转发规则和转发组内容,用户可以将请求分发到不同转发规则下的后端云服务器。通过 CLB划分目标组实现业务分离,极大提升服务效率。

请求重定向

应用型 CLB 七层协议支持自定义重定向功能(Rewrite),该功能可解决两大难题:

  • 强制 HTTPS: PC、手机浏览器等以 HTTP 请求访问 web 服务,经过 CLB 代理后,返回 HTTPS 响应到浏览器,强制以 HTTPS 访问网页。

  • 自定义重定向:当出现 web 业务需要临时下线(如电商售罄、页面维护、更新升级时)会需要重定向能力。如果不做重定向,用户的收藏和搜索引擎数据库中的旧地址只能让访客得到一个“404”、“503”错误信息页面降低了用户体验度,导致额外流量损失。

多种调度算法

CLB 支持加权轮询、IP Hash 以及加权最小连接数这三种调度算法,并支持后端服务器权重设置,保证流量调度更均匀,提升 CLB 能力。在 HTTP 的七层协议中,还支持最小连接数的调度算法,可保证后端服务器在首次或再次加入时,该服务器的负载能够快速提升,降低其他后端服务器的负载压力。

会话保持

对于四层业务, CLB 提供简单会话保持功能(也称作基于源地址的会话保持、基于 IP 的会话保持功能),CLB 在作负载均衡时,以访问请求的源地址作为判断关联会话的依据,可将来自同一 IP (网段)地址的所有访问请求转发到同一台服务器上去。对于七层业务,CLB 提供 cookie 植入的会话保持方式,CLB 负责植入 cookie,后端服务器无需配置。

健康检查

CLB 会定时检测后端云服务器是否正常运行,您可自定义健康检查频率;当检测到云服务器异常时,CLB 会停止将流量分配到这些异常实例,同时筛选出健康实例,以此保证您的业务的连续性。

跨可用区容灾

CLB 在同一个地域内采用多可用区部署,您可以在广州二区、三区部署两套高效能主备集群,当广州二区服务不可达时,流量可自动切换到广州三区,轻松应对机房级故障。结合 DNSpod 的 DNS 解析能力,还可支持全局负载均衡,实现跨地域容灾。

负载均衡(Cloud Load Balancer)是对多台 云服务器 进行流量分发的服务。负载均衡可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。

负载均衡服务通过设置虚拟服务地址(VIP),将位于同一地域的多台云服务器资源虚拟成一个高性能、高可用的应用服务池。根据应用指定的方式,将来自客户端的网络请求分发到云服务器池中。

负载均衡服务会检查云服务器池中云服务器实例的健康状态,自动隔离异常状态的实例,从而解决了云服务器的单点问题,同时提高了应用的整体服务能力。

腾讯云提供的负载均衡服务具备自助管理、自故障修复,防网络攻击等高级功能,适用于企业、社区、电子商务、游戏等多种用户场景。

组成部分

一个提供服务的负载均衡组通常由以下部分组成:

  • Cloud Load Balancer:负载均衡实例,用于流量分发。

  • VIP(virtual IP):负载均衡向客户端提供服务的 IP 地址。

  • Backend/Real Server:后端一组云服务器实例,用于实际处理请求。

  • VPC/基础网络:整体网络环境。

来自负载均衡外的访问请求,通过负载均衡实例并根据相关的策略和转发规则分发到后端云服务器进行处理。

名词解释

术语全称说明
负载均衡器Cloud Load Balancer腾讯云提供的一种网络负载均衡服务,可以结合 CVM 云服务器为用户提供基于 TCP/UDP 以及 HTTP 负载均衡服务。
负载均衡监听器Load Balance Listener负载均衡服务监听器,包括监听端口、负载均衡策略和健康检查配置等,每个监听项对应后端的一个应用服务。
后端服务器Real Server接受负载均衡分发请求的一组云服务器实例,负载均衡服务将访问请求按照用户设定的规则转发到这一组后端 CVM 上进行处理。
虚拟服务地址Virtual IP系统分配的服务地址,当前为 IP 地址。用户可以选择该服务地址是否对外公开,来分别创建公网和私网类型的负载均衡服务。

负载均衡的工作原理

基本工作原理

负载均衡器接受来自客户端的传入流量,并将请求路由到一个或多个可用区的后端云服务器实例上进行处理。

负载均衡服务主要由负载均衡监听器提供。监听器负责监听负载均衡实例上的请求、执行策略分发至后端服务器等服务,通过配置客户端 - 负载均衡和负载均衡 - 后端服务器两个维度的转发协议及协议端口,负载均衡可以将请求直接转发到后端云服务器上。

建议您跨多个可用区配置负载均衡器的后端 CVM 实例。如果一个可用区变得不可用,负载均衡器会将流量路由到其他可用区正常运行的实例上去,从而屏蔽可用区故障引起的服务中断问题。

请求路由选择

客户端请求通过域名访问服务,在请求发送到负载均衡器之前,DNS 服务器将会解析负载均衡域名,并将收到请求的负载均衡 IP 地址返回到客户端。当负载均衡监听器收到请求时,将会使用不同的负载均衡算法将请求分发到后端服务器中。目前腾讯云支持加权轮询和 ip_hash 加权最小连接数等多种均衡算法。

监控后端服务状态

负载均衡器还可以监控后端实例的运行状况,从而确保只将流量路由到正常运行的实例上去。当负载均衡器检测到运行不正常的实例时,它会停止向该实例路由流量,然后会在它再次检测到实例正常运行之后重新向其路由流量。

相关服务

负载均衡可与以下服务一起使用来提高应用程序的可用性和可扩展性:

  • CVM 实例:应用程序在云上运行的虚拟服务器。有关更多信息,请参见 CVM 产品文档

  • 弹性伸缩:弹性地控制实例数量。在弹性伸缩中启用负载均衡实例,则伸缩的实例将自动加入负载均衡组,同时终止的实例将自动被移出负载均衡组。有关更多信息,请参见 弹性伸缩 产品文档

  • 云监控:帮助您监控负载均衡及所有后端实例的运行状况并执行所需操作。有关更多信息,请参见 云监控 产品文档

  • 域名注册和域名解析:通过将您自定义的域名(例如 www.example.com)转换为网络通信所用的 IP 地址(例如 192.0.2.1),快速便捷地将请求路由至负载均衡实例。有关更多信息,请参见 域名注册 产品文档 和 域名解析 产品文档

负载均衡服务是否优秀,主要是由以下维度的性能测试指标来评判的:

  • TPS(每秒新建连接数):负载均衡实例每秒新建 TCP 连接的能力。

  • 最大并发连接数:并发连接数指客户端向服务器发起请求并建立了 TCP 连接的总数。即每秒钟服务器链接的总 TCP 数量。

  • QPS(query per second):也可以叫 RPS,每秒请求。请求数指客户端在建立完连接后,向 HTTP 服务发出 GET/POST/HEAD 数据包。

  • 吞吐量:负载均衡实例可支持的总的流量带宽。

腾讯云提供高性能的负载均衡服务:

  • 负载均衡单集群提供超过1.2亿的最大连接数,轻松应对亿级 Web 业务访问量。

  • 负载均衡单集群可处理峰值40Gb/s的流量,每秒处理包量(PPS)可达600万。

  • 对每个租户的流量进行严格隔离,提供主动 DDoS 防护能力。当遭遇 DDoS 攻击时,腾讯云负载均衡能为您免费提供2Gb - 10Gb DDoS 攻击峰值流量的防御能力。

说明:


  • 如果您对峰值流量有更高的要求,可以另行购买 BGP 高防包,最高可为您提供300Gb攻击峰值流量的防御能力。

  • 如果您对应用层安全防护有需求,可以另行购买 腾讯云 Web 应用防火墙(WAF) ,WAF 将为您提供应用层 Web 安全防护,抵御 Web 漏洞攻击、恶意爬虫和 CC 攻击等行为,保护网站和 Web 应用安全

负载均衡主要适用于以下场景:

  • 流量分发,将高访问量的业务通过负载均衡分发到多台云服务器上。

  • 消除单点故障,当其中一部分云服务器不可用时,负载均衡可自动屏蔽故障的 CVM 实例,保障应用系统正常工作。

  • 横向扩展,根据业务发展的需要,按需扩展应用系统的服务能力,适用于各种 Web Server和 App Server。

  • 全局负载均衡,结合 云解析,可支持全局多地域负载均衡,保障异地容灾。

流量分发和消除单点故障

您可以通过负载均衡,将业务流量分发到多台云服务器上:

  • 业务的客户端访问负载均衡。

  • 多台云服务器构成一个高性能、高可用的服务池,负载均衡将业务流量转发到这批云服务器上。

  • 当某台或某几台云服务器不可用时,负载均衡可自动屏蔽故障的 CVM 实例,将请求分发给正常运行的 CVM 实例,保障应用系统正常工作。

  • 会话保持功能可将同一客户端的请求转发到同一台后端云服务器,提高访问效率。
    www.ksyuwei.cn

横向扩展

负载均衡结合 弹性伸缩,可为您按需创建和释放 CVM 实例。

  • 您可以设定弹性伸缩策略来管理 CVM 实例数量,完成对实例的环境部署,并保证业务平稳顺利运行。在需求高峰时,自动增加 CVM 实例数量,以保证性能不受影响。当需求较低时,则会减少 CVM 实例数量以降低成本。

  • 电商行业的的“双11”、“6.18”等大促活动,Web 访问量可能瞬间陡增10倍,且只持续短暂的数小时。使用负载均衡及弹性伸缩能最大限度的节省 IT 成本。
    www.ksyuwei.cn

全局负载均衡

结合 云解析,您可以将业务流量解析到全局各个地域的负载均衡,保障异地多活和容灾。

  • 您可以在不同地域部署负载均衡实例,并分别绑定对应地域的云服务器。

  • 使用云解析将域名解析到各个地域的负载均衡 VIP 下。

  • 业务流量会通过域名解析和负载均衡转发到多个地域的多个云服务器上,以此实现全局负载均衡。

  • 当某个地域不可用时,暂停对应地域负载均衡 VIP 的解析即可保障业务不受影响。
    www.ksyuwei.cn

负载均衡 CLB 提供四层(TCP 协议/UDP 协议/TCP SSL 协议)和七层(HTTP 协议/HTTPS 协议)负载均衡。您可以通过 CLB 将业务流量分发到多个后端服务器上,消除单点故障并保障业务可用性。CLB 自身采用集群部署,可实现会话同步,消除服务器单点,提升系统冗余,保证服务稳定,可在同一个地域部署多个机房,实现同城容灾。

基础架构

腾讯云负载均衡当前提供四层和七层的负载均衡服务:

  • 四层主要基于腾讯自研的统一接入网关(Tencent Gateway,TGW)来实现负载均衡,TGW 具有可靠性高、扩展性强、性能高、抗攻击能力强等特点,支持 Data Plane Development Kit(DPDK)高性能转发,单集群可支持亿级并发、千万级 PPS。腾讯内部诸多业务均通过 TGW 接入服务,包括腾讯游戏、腾讯视频、微信、QQ 等。

  • 七层主要基于 Secure Tencent Gateway(STGW)实现负载均衡,STGW 是腾讯基于 Nginx 自研的支持大规模并发的七层负载均衡服务,承载了腾讯内大量的七层业务流量,包括腾讯新闻、理财通、腾讯游戏、微信等。
    www.ksyuwei.cn

转发路径

负载均衡负责转发业务流量,由后端服务实际处理业务请求。CLB 与后端 CVM 之间是通过腾讯云内网进行通信的。TGW 和 STGW 均由多台服务器部署,通过集群来提供负载均衡服务。CLB 的转发路径如下图所示:
www.ksyuwei.cn

  1. TCP/UDP协议:

    • TCP/UDP 协议由 TGW 集群处理转发逻辑。

    • 业务流量到达后,由 TGW 通过腾讯云内网转发给后端 CVM,后端 CVM 的回包也是通过 TGW 返回给客户端。

  2. TCP SSL 协议

    • 处理 TCP SSL 协议时,业务流量会先经过 TGW 集群,而后由 STGW 集群来转发给后端 CVM。

    • 新建会话时需经过加速卡集群来进行证书验证和加解密等前置操作。

    • 业务流量到达后,在腾讯云内网中依次通过 TGW、STGW、后端 CVM,回包也依次逆向返回给客户端。

  3. HTTP/HTTPS 协议

    • 处理 HTTP/HTTPS 协议时,业务流量会先经过 TGW 集群,而后由 STGW 识别 HTTP 协议并转发给后端 CVM。

    • 新建 HTTPS 会话时需经过加速卡集群来进行证书验证和加解密等前置操作,将 HTTPS 转换成 HTTP 协议,再转发给后端 CVM。

    • 业务流量到达后,在腾讯云内网中依次通过 TGW、STGW、后端 CVM,回包也依次逆向返回给客户端。

负载均衡有两种实例类型:负载均衡(此前亦被称为“应用型负载均衡”)和传统型负载均衡。

  • 负载均衡:支持 TCP/UDP/HTTP/HTTPS 协议,提供基于域名和 URL 路径的均衡能力,支持灵活转发。

  • 传统型负载均衡:内网不支持 HTTP/HTTPS 协议,配置方法简单。

负载均衡可覆盖传统型负载均衡的所有功能。从产品功能、产品性能等多方面考虑,建议您使用的实例类型是负载均衡。二者的详细对比如下:

产品类型负载均衡传统型负载均衡
公网内网公网内网
七层转发(HTTP/HTTPS)×
四层转发(TCP / UDP)
四层加密转发(TCP SSL)×××
支持 HTTP/2 及 websocket(secure)×
负载均衡策略IP hash(七层)
加权轮询
加权最小连接数
IP hash(七层)
加权轮询
加权最小连接数
IP hash(七层)
加权轮询
加权最小连接数
加权轮询
会话保持
健康检查
自定义转发规则(域名/URL)××
支持 SNI 多证书特性××
转发到不同的后端端口××
七层个性化配置××
七层重定向功能(rewrite)×××
支持跨地域绑定功能×××
支持七层日志存储到 COS××

腾讯云负载均衡使用时有一些通用限制,不同类型的负载均衡实例也有该类型特定的使用限制。有关负载均衡类型的更多内容,请参见 实例类型

实例类型资源默认限制
全部实例的通用限制一个账号在单地域可创建的公网实例数量100
一个账号在单地域可创建的内网实例数量100
一个实例可添加的监听器数量50
一个实例中的监听器可选择的端口端口为1 - 65535的整数
负载均衡
(原“应用型负载均衡”)
一个负载均衡实例中,HTTP/HTTPS 监听可配置的域名和 URL 转发规则数量50
一个负载均衡实例的转发规则可绑定的服务器数量100
一个负载均衡实例的前端端口可对应的后端端口数量多个端口
传统型负载均衡一个传统型负载均衡实例的监听器可绑定的服务器数量100
一个传统型负载均衡实例的前端端口可对应的后端端口数量1个端口

负载均衡不会主动解除与 CVM 的绑定关系,但当云服务器进入隔离状态(包年包月云服务器进入回收站、按量计费云服务器欠费两小时以上)时,会强制解除与 CLB 的绑定关系。

www.ksyuwei.cnwww.ksyuwei.cn

www.ksyuwei.cnwww.ksyuwei.cnwww.ksyuwei.cnwww.ksyuwei.cnwww.ksyuwei.cnwww.ksyuwei.cn

www.ksyuwei.cn

1. 健康检查提示 CVM 实例异常该如何处理?

请按如下步骤进行排查:

  • 确保您直接通过云服务器访问到您的应用服务。

  • 确保后端服务器已开启了相应的端口。

  • 检查后端服务器内部是否有防火墙之类的防护软件,可能导致负载均衡系统无法与后端服务器通讯。

  • 检查负载均衡检查参数设置是否正确。

  • 建议使用静态页面来健康检查。

  • 检查后端的云服务器是否有高负载导致云服务器对外响应慢。

  • 确保云服务器子机没有做 iptables 限制。

2. 发送 843 的 policy 请求(即 flash server 请求)时,没有返回策略文件,连接直接断掉,该如何处理?

负载均衡收到 843 的 policy 请求,会主动回复通用的 crossdomain 策略配置文件,如果出现没有返回策略文件,连接直接断掉的情况,可能是 flash server 请求不正确。

请确认发送正确的 flash server 的请求:\0 。

注意:

这里需要以\0结尾,一共23个字节。\0是指一个 ASCII 码为 0 的符号,只占用一个字节。

正常的 843 返回结果如下图所示:
www.ksyuwei.cn

3. CLB 是否可以直接获取 Client 端 IP?

公网七层负载均衡提供 X-Forwarded-For 的方式获取访问者真实 IP,CLB 侧默认开启,需要后端服务做相应配置来获取 Client IP。详情请见 如何获取客户端真实 IP。

公网四层负载均衡(TCP 协议)服务可以直接在后端 CVM 上获取来访者真实 IP 地址,无需进行额外的配置;内网四层负载均衡自从2016年10月24日起,新购的实例不再进行 SNAT 处理,支持直接从 server 端获取真实的 client IP,无需额外配置。

4. 可以为哪些 TCP 端口执行负载均衡?

您可以为如下 TCP 端口执行负载均衡:21(FTP)、25(SMTP)、80(HTTP)、443(HTTPS),以及1024 - 65535等端口。

5. 负载均衡 Cookies 会话保持方式的原理是什么?

在 Cookie 插入模式下,CLB 将负责插入 cookie,后端服务器无需作出任何修改。当客户进行第一次请求时,客户 HTTP 请求(不带 Cookie)进入 CLB, CLB 根据负载平衡算法策略选择后端一台服务器,并将请求发送至该服务器,后端服务器进行 HTTP 回复(不带 Cookie)被发回 CLB,然后 CLB 插入 Cookie,将 HTTP 回复(带 Cookie)返回到客户端。

当客户请求再次发生时,客户 HTTP 请求(带有上次 CLB 插入的 Cookie)进入 CLB,然后 CLB 读出 Cookie 里的会话保持数值,将HTTP请求(带有与上面同样的 Cookie)发到指定的服务器,然后后端服务器进行请求回复,由于服务器并不写入 Cookie,HTTP 回复将不带有 Cookie,恢复流量再次经过进入 CLB 时,CLB 再次写入更新后的会话保持 Cookie。

6. 四层负载均衡和七层负载均衡有什么区别?

  • 四层均衡能力,是基于 IP + 端口的负载均衡。

  • 七层是基于应用层信息(如 HTTP 头部、URL 等)的负载均衡。

四到七层负载均衡,就是在对后台的服务器进行负载均衡时,依据四层的信息或七层的信息来决定怎么样转发流量。
例如,四层的负载均衡,就是通过发布三层的IP地址(VIP),然后加四层的端口号,来决定哪些流量需要做负载均衡,对需要处理的流量进行 NAT 处理,转发至后台服务器,并记录下这个 TCP 或者 UDP 的流量是由哪台服务器处理的,后续这个连接的所有流量都同样转发到同一台服务器处理。

七层的负载均衡,就是在四层的基础上,再考虑应用层的特征。
例如,同一个 Web 服务器的负载均衡,除了根据 VIP 和80端口辨别是否需要处理的流量,还可根据七层的 URL、浏览器类别、语言来决定是否要进行负载均衡。
七层负载均衡,也称为“内容交换”,也就是主要通过报文中的真正有意义的应用层内容,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。

七层负载均衡要根据真正的应用层内容选择服务器,只能先代理最终的服务器和客户端建立连接(三次握手)后,才可能接受到客户端发送的真正应用层内容的报文,然后再根据该报文中的特定字段,以及负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。负载均衡设备在这种情况下,更类似于一个代理服务器。负载均衡和前端的客户端以及后端的服务器会分别建立 TCP 连接。

7. CVM 可通过配置内网型负载均衡,将流量从端口A转发回同一台服务器的其他端口吗?

不可以。对服务器 A(10.66.*.101)端口 a 的访问可通过内网型负载均衡将请求转发至服务器 B(10.66.*.102)的端口 b。但无法将流量转发至同一台服务器 A(10.66.*.101)的另一端口 b。

8. 什么是后端服务器权重?

用户可以指定后端服务器池内各 CVM 的转发权重,权重比越高的 CVM 将被分配到更多的访问请求,用户可以根据后端 CVM 的对外服务能力和情况来区别设定。

如果您同时开启了会话保持功能,那可能会造成对后端应用服务器的访问并不是完全相同的,建议您可以暂时关闭会话保持功能观察一下是否依然存在这种情况。

9. UDP 协议与 TCP 协议有什么区别?

TCP 是面向连接的协议,在正式收发数据前,必须和对方建立可靠的连接。UDP 是面向非连接的协议,它在数据发送前不与对方先进行三次握手,而是直接进行数据包发送传送。UDP 协议主要适用于关注实时性而相对不注重可靠性的场景,如视频聊天、金融实时行情推送、DNS、物联网等。

10. 后端 CVM 需要外网带宽吗?是否会影响负载均衡的服务?

负载均衡不收取任何的流量或带宽费用。负载均衡服务产生的公网流量费用,由后端的 CVM 收取。建议购买后端 CVM 时,公网带宽选择按使用流量计费。并设定合理的最高的带宽峰值上线,这样就无需关注 CLB 出口的总流量的涨跌。互联网 Web 业务的流量起伏较大,无法准确预测。若按带宽计费,带宽买多了不划算,买得太少,业务高峰期会出现丢包的情况。

11. 负载转发中的 HTTP 重定向问题

当浏览器访问网站 http://example.com 时,对服务器而言需要进行一次重定向,判断需要定向至根目录。而当浏览器访问网站 http://example.com/ 时服务器会直接返回网站设置的根目录默认页面。同样的,假设 http://cloud.tencent.com/movie 被URL重写跳转到 http://cloud.tencent.com/movie/ 上的话,则输入 http://cloud.tencent.com/movie 就会多一次 URL 重写的过程,在性能和时间上都有微小的损耗。 但在结果上没有差别。但若 http://cloud.tencent.com/product 被 URL 重写转跳到非 http://cloud.tencent.com/product/ 同一页面上,则需要考虑是否在二级页面后添加/。

在腾讯云负载均衡中,如果前后端端口号不一致时,为了避免 HTTP 重定向后导致端口号更改,访问二级页面需要加/保证页面的正常访问。

假设七层转发下,负载均衡实例监听80端口,后端服务器监听 8081 端口。此时客户端访问 http://www.example.com/movie ,经由负载均衡转发至后端服务器,服务器收到发往 http://www.example.com/movie 的请求并会重定向到 http://www.example.com:8081/movie/(监听端口为8081),此时客户端访问失败(端口错误)。

因此,建议用户将访问请求改写为带/的二级页面如 http://www.example.com/movie/。这样可以避免 HTTP 重定向,减少一次不必要的判断,降低不必要的负载。如果必须使用 HTTP 重定向时,请保证负载均衡的监听端口和后端服务器的监听端口相同。

12. 客户端、服务器端 HTTP 版本不一致时,兼容版本说明

转发兼容性

  • 前端(client 端),当前支持 HTTP1.0/1.1,向下兼容。

  • 后端(server 端), 当前腾讯云使用 HTTP1.0 协议,支持 HTTP1.0/1.1,向下兼容。

注意:

HTTP/2 只在 HTTPS 中支持,且 client 及 server 端可以向下兼容。当前不支持 HTTP 协议。

支持 Gzip 兼容性

  • 前端(client 端),当前支持 HTTP1.0/1.1 向下兼容。(用户无需配置,主流浏览器都支持 Gzip)

  • 后端(server 端),在云服务器端,由于腾讯云内部全网支持 HTTP/1.1 协议,因此用户也无需配置,使用 nginx 默认配置(HTTP/1.1)即可兼容。

注意:

HTTP/2 只在 HTTPS 中支持,但 Gzip 可以用在腾讯云所支持的任意 HTTP 版本中。

13. 负载均衡后端服务器的安全组应该怎么设置?怎样设置访问黑名单?

负载均衡安全组配置

若后端服务器设置了安全组规则,可能会出现负载均衡实例无法与其通信的状况。因此,在四层转发和七层转发下,建议后端服务器安全组均设置为全放通。若打开了安全组,并默认允许拒绝全协议全ip段的地址访问时,需要配置所有客户端 IP 到本机 IP 的安全组规则。
对于某些恶意 IP,可以设置把恶意IP加在安全组前排规则,禁止其访问后端服务器;再放通所有 IP(0.0.0.0)到本机服务端口,让正常客户端可以访问。 (安全组规则是有顺序的,自顶而下进行匹配)

私有网络内的七层负载转发若设置了健康检查,必须把负载均衡 VIP 加入到后端服务器的安全组放通规则,否则健康检查可能失效。

设置访问黑名单

如用户需要给某些 Client IP 设置黑名单,拒绝其访问,可以通过配置云服务关联的安全组实现。安全组的规则需要按照如下步骤进行配置:

注意:

如下配置步骤有顺序要求,顺序相反会导致黑名单配置失效。

  • 将需要拒绝访问的 client IP + 端口添加至安全组中,并在策略栏中选取拒绝该 IP 的访问。

  • 设置完毕后,再添加一条安全组规则,默认开放该端口全部 IP 的访问。
    配置完成后,安全组规则如下:

    clientA ip+port dropclientB ip+port drop0.0.0.0/0+port accept

关于安全组的更多说明,请参见 后端云服务器的访问控制。

14. 关于健康检查探测频率过高的说明

健康检查探测包频率过高,控制台设置接受探测包5秒1次,实际后端 RS 发现1秒内收到1次甚至多次健康检查请求,原因如下:

当前,健康检查频率过高的问题,主要跟负载均衡后端健康探测实现机制有关。假设100万的 client 端请求,会分散在4台 CLB 后端物理机上,再转给云服务器。 健康检查探测是在 CLB 的后端物理机上各自探测的。因此,CLB 实例设置5秒1次的探测请求,实际上 CLB 后端的每台物理机都会每5s发送一次探测。因此在后端云服务器上,会收到多次探测请求。假设 CLB 实例所在集群有8台物理机,那么每台机器5s发送一次请求,后端主机可能会在5s中收到8次探测。

该实现方案的优势是:效率高,探测精准,避免误剔除。例如,CLB 实例集群的8台物理机中,其中1台判断失败,仅那1台机器不再转发流量,另外7台的流量是正常的。

因此,如果您后端云服务器的探测频率过高,可以通过设置更长的探测间隔时间来解决( 如设置为15s探测一次)。

15. CLB 与后端服务器之间的通讯是走的内网还是外网?

CLB 与后端服务器的通讯始终走内网,绑定的 CVM 有外网 IP 的情况下也一样。

16. 关于内网回环问题的说明

内网 CLB 不支持同一个内网 IP 即作为客户端又作为服务器,此时 CLB 看到的 Client IP 和 Server IP 是一样的,会导致访问不通。
当您的客户端需要同时作为服务器时,请至少绑定两个后端服务器。CLB 有自动避免回环的策略,当 Client A 访问 CLB 时,CLB 会自动调度到非 Client A 的后端服务器上。

17. 关于同一个客户端通过不同的中间节点访问同一个后端RS的同一个端口时串流问题的说明

当同一个客户端同一时刻,通过不同的中间节点访问同一个 RS 的同一个端口会串流,具体场景为:

  • 同一个客户端,同时通过同一个 CLB 的四层、七层监听器,访问同一个 RS 的同一个端口。

  • 同一个客户端,同时通过不同 CLB 的不同监听器,访问同一个 RS 的同一个端口。

具体原因是:当前 CLB 会透传客户端 IP 到后端 RS,因此会导致client_ip:client_port -> vip:vport -> rs_ip:rs_port最终为client_ip:client_port --> rs_ip:rs_port。
请在后端 RS 上新增端口来规避此类问题。

HTTPS 支持的加密套件有哪些?

ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-CHACHA20-POLY1305:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128:AES256:AES:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK

HTTPS 支持哪些版本的SSL/TLS安全协议?

负载均衡 HTTPS 目前支持的 ssl_protocols:TLSv1 TLSv1.1 TLSv1.2。

HTTPS 监听使用什么端口?

不强制,建议使用443端口。

为什么需要 HTTPS 双向认证?

有些客户对数据安全要求较高,如涉及到金融服务的客户等。他们不仅需要在服务端进行 HTTPS 认证,在客户端也需要进行 HTTPS 认证,为了满足这些客户的需求,我们推出 HTTPS 双向认证功能。

为什么 HTTPS 协议实际产生的流量会比账单流量多一些?

如果用户使用 HTTPS 协议,将会使用一些流量用于协议握手,因此其实际产生的流量会比账单流量更多一些。

添加 HTTPS 监听器后,负载均衡到后端云服务器间的请求是否依然通过 HTTP 协议传输?

是的。添加 HTTPS 监听器后,客户端到负载均衡之间的请求将经过HTTPS协议加密,而负载均衡到后端云服务器依然通过HTTP协议传输,因此后端云服务器无需做SSL配置。

CLB 目前支持哪些类型的证书?

目前支持服务器证书和CA证书的上传,服务器证书需要上传证书内容和私钥,CA证书只需要上传证书内容;这两种类型的证书都只支持PEM编码格式的上传。

一个监听器可以绑定多少个 HTTPS 证书?

如果用户使用 HTTPS 单向认证,则一个监听只能绑定一个服务器证书;若用户使用 HTTPS 双向认证,则一个监听需要绑定一个服务器证书+一个 CA 证书。

一个证书可以应用于多少个负载均衡器,多少个监听器?

一个证书可以应用于一个或多个负载均衡器,或多个监听器。

如何上传证书?

可以通过 API 或负载均衡控制台两种方式上传。

证书区分地域吗?

区分。考虑到安全和性能,目前用户的证书如需要在多个地域使用,就需要在多个地域上传。

证书需要上传到后端 CVM 吗?

不需要,负载均衡 HTTPS 提供证书管理系统管理和存储用户证书,证书不需要上传到后端 CVM,用户上传到证书管理系统的私钥都会加密存储。

证书过期后如何处理?

当前证书过期后,需要用户手动更新证书。

添加证书报错如何处理?

可能是私钥内容错误,需要用户替换为新的满足需求的证书。

产品内容

什么是 WS/WSS?

WebSocket 是一种在单个 TCP 连接上进行全双工通讯的协议。
WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

为什么要使用 WS/WSS?

在 WebSocket 出现之前,客户端获取服务器数据只能通过轮询的方式从服务器拉取(Pull)数据。
这样的数据交换方式存在两个最突出的问题:

  1. 效率低。当客户端需要实时数据时,需要频繁的发起 Ajax 请求拉取数据。

  2. 服务器无法主动推(Push)数据。
    为解决这些问题,WebSocket 诞生了。WebSocket 是伴随 HTML5 发布的一种新协议。它实现了浏览器与服务器全双工通信(full-duplex),可以传输基于消息的文本和二进制数据。从协议层面上解决了 HTTP 的上述难题。

WebSocket 的主要优点包括:

  1. 更小的控制开销。连接建立后,用于控制的包头较小。相对于 HTTP 请求每次都要携带完整的头部,此项开销大大降低。

  2. 更强的实时性。WebSocket 是全双工协议,服务器可实时推动数据给客户端。

  3. 保持连接状态。

产品购买

WS/WSS 如何收费?

CLB 默认支持 WS/WSS,不收取额外费用。

产品实施

如何在CLB上开启 WS/WSS?

默认开启,无需额外配置。
监听器监听在 HTTP,则默认支持 WS;监听器监听 HTTPS,则默认支持 WSS。
使用 WSS 时,CLB 会进行 SSL 卸载。

支持 WS/WSS 的地域有哪些?

目前所有地域均已支持 WS/WSS 协议。


  • 名称: 负载均衡CLB
  • 关键词: 负载均衡CLB,流量分发,腾讯云