腾讯云企业认证 腾讯云服务器负载均衡监听

腾讯云国际 / 2026-04-17 15:15:16

你有没有过这种体验?

凌晨两点,老板微信弹出一句:“网站打不开,快看看!”你猛灌一口冷咖啡,手抖着登录腾讯云控制台,手指在“负载均衡”菜单上悬停三秒,点进去,再点“监听器”,然后——瞳孔地震。

一堆选项:监听协议、端口、健康检查、转发策略、会话保持、SSL证书……密密麻麻像菜市场价签。你点开“编辑”,改了个超时时间,保存,刷新,发现网站更卡了。你默默截图发群里问:“这个‘健康检查路径’填/还是/health?它到底认不认斜杠结尾?”群里没人回,只有个表情包:一只熊猫捂着眼睛蹲墙角。

别慌。今天咱不讲PPT术语,不堆概念图,就当是俩运维蹲在机房门口抽着烟唠嗑——把腾讯云CLB(Classic Load Balancer)和ALB(Application Load Balancer)里那个最常被点、也最常被点错的“监听器”,给你掰开、揉碎、再蘸点酱油下饭。

一、监听器不是“听歌的耳机”,是“守门大爷”

先破个迷信:监听器 ≠ 监听流量。它其实是“第一道闸机”——守在负载均衡器最前面,专管“谁可以进来、从哪进、进来了往哪儿送”。它不处理业务逻辑,不解析Cookie,不加密解密(除非你开了HTTPS),它只干三件事:

  1. 盯端口:比如80、443、8080,像小区门禁读卡器,只认特定卡号;
  2. 认协议:HTTP/HTTPS/TCP/UDP/TCP SSL,相当于看你是刷脸、刷卡,还是递纸质证明;
  3. 发指令:检查后端服务器活没活(健康检查),再按规则把请求分给A机还是B机(转发策略)。

所以,别一上来就狂点“添加监听器”,先问自己三个灵魂问题:
① 用户访问的是http:// 还是 https://?
② 后端服务跑在什么端口?是8080的Java应用,还是3306的MySQL(⚠️别真把数据库挂监听!)?
③ 你希望它“粗暴轮询”还是“按URL路径分发”?

二、协议和端口:别让80和443谈一场没有结果的恋爱

常见错误操作:
→ 创建一个HTTP监听器,端口填443;
→ 或者建个HTTPS监听器,证书上传失败后,随手改成TCP监听器,以为“能通就行”。

后果?前者直接400 Bad Request(HTTP协议不认443这个端口上的明文);后者虽然能通,但SSL卸载没了,后端得自己扛HTTPS,还丢了所有HTTP层能力(比如基于Host头路由、重写URL、插入X-Forwarded-For)。

黄金搭配表(抄下来贴工位):

  • 用户走 http://xxx.com → 监听器用 HTTP + 端口80
  • 用户走 https://xxx.com → 监听器用 HTTPS + 端口443,且必须绑定有效SSL证书;
  • 后端是Web服务(Nginx/Tomcat)→ 推荐 HTTP监听 + 后端用80或8080,让CLB做SSL卸载;
  • 后端是游戏服/IM长连接 → 用 TCP监听 + 自定义端口,关掉健康检查里的HTTP探测(它会用GET乱扫)。

特别提醒:腾讯云ALB支持“同一监听器多协议”(比如443端口同时处理HTTPS和HTTP/2),但CLB不行——一个监听器只能一种协议。别贪多。

三、健康检查:不是“打卡考勤”,是“上门查水电”

很多人设完监听器,后端服务器明明开着,CLB却标红“不健康”。点开详情一看,健康检查响应码是503或timeout。别急着重启后端,先看这三项:

  1. 检查路径:默认/
    → 如果你的后端根路径返回404(比如只开放/api/v1),就得改成/api/health/ping
    → 注意:路径开头必须带/,结尾不加斜杠(/health/可能被某些框架重定向,导致301跳转失败);
  2. 腾讯云企业认证 检查端口:默认和监听端口一致
    → 但如果你监听80,后端实际监听8080,健康检查却还打80——肯定失败!务必改成8080;
  3. 响应码范围:默认200-399
    → 有些监控接口返回204(No Content)或418(我是个茶壶),记得手动加进范围,否则一律判死。

真实翻车现场:某兄弟把健康检查路径设成/status,结果后端框架自动加了302跳转到/login,CLB抓到302就判“不健康”。他折腾两小时,最后删掉跳转逻辑,世界清净了。

四、转发策略:URL重写、Host匹配、Header注入…别写正则写到哭

CLB的“转发策略”像快递分拣站:收到包裹(请求),看面单(Host/Path/Header),贴新标签(改URL/加Header),再扔进对应传送带(后端服务器组)。

常用场景实战:

  • 动静分离
    规则:Path以/static/开头 → 转发到“静态资源组”(CDN或OSS回源);
    其余 → 转发到“应用服务器组”。
  • 灰度发布
    规则:Header中X-Env: beta → 转发到beta服务器组;
    默认 → 转发到stable组。
  • 强制HTTPS跳转(仅HTTP监听器):
    开启“重定向”,目标协议选HTTPS,端口443 —— 比在Nginx里写301靠谱多了,还不怕漏配。

避坑指南:
• 正则表达式别手写!用腾讯云提供的“可视化路径匹配”(前缀匹配/精确匹配/通配符);
• 修改策略后,必须点“保存并生效”,光点“确定”只是存草稿;
• 多条规则有优先级,越靠上越先匹配,别把宽泛规则(如/*)放最顶上,否则下面全废。

五、那些没人告诉你,但会半夜炸群的细节

  • 会话保持(Sticky Session):开了之后,用户第一次被分到A机器,后续都固定A。但注意——CLB只支持基于Cookie插入(HTTP)或源IP哈希(TCP),不支持后端Session同步。别指望它解决分布式Session问题,那是Redis的事。
  • 空闲连接超时:默认60秒。如果后端是WebSocket或长轮询,务必调大(比如3600),否则连接被CLB静默断开,前端疯狂重连。
  • 监听器日志:CLB本身不记录访问日志!要分析流量,得开“访问日志”功能(额外收费),或让后端Nginx记,再通过CLS采集。
  • 证书更新:HTTPS监听器换证书,不用停服务!上传新证书→选中监听器→点击“切换证书”→确认。整个过程毫秒级,用户无感。

最后送你一句保命口诀

“协议端口要配对,健康路径别乱怼;转发规则看优先,证书更新不用跪;查问题先看状态灯,红灯亮了别硬吹——去后端curl一下,比啥都准。”

好了,烟抽完了,咖啡凉了,你也该回去改配置了。祝你今晚的监听器,绿得像草原,稳得像泰山,快得像…算了,快不过你老板撤回的那条消息。

下载.png
Telegram售前客服
客服ID
@cloudcup
联系
Telegram售后客服
客服ID
@yanhuacloud
联系