
1) 明确目标:对媒体(HTTP视频、RTMP、RTP/RTSP、QUIC)流量做高可用与高防护的负载均衡。
2) 准备资源:至少两台或多台cera美国高防后端节点、1~2台负载均衡节点(可使用HAProxy/Nginx/LVS)、公网高防IP或BGP Anycast。
3) 工具:ssh、iptables/nft、certbot、监控(Prometheus/Grafana)、日志(ELK)。
1) 在cera控制台绑定高防IP并开启DDoS防护策略,限制协议类型与速率阈值。
2) 在防火墙中开放必要端口:TCP 80/443、RTMP 1935、UDP 3478(STUN)、RTP 端口段(例如10000-20000),并设置最小白名单。
3) 启用流量清洗自动策略,记录清洗日志以便调优。
1) 小规模推荐:HAProxy或Nginx做四层或七层LB;大规模或内网快速转发则考虑LVS + Keepalived做虚拟IP漂移。
2) 媒体场景:TCP/UDP都需要支持,RTMP/HTTP用七层LB做SSL终止与缓存,RTP/QUIC建议做四层(L4)直通以降低延迟。
3) 拓扑示例:公网高防IP -> 负载均衡层(HAProxy+Keepalived) -> 后端媒体服务器集群。
1) 安装:apt/yum install haproxy。
2) haproxy.cfg 基础片段:frontend ft_http bind *:80 bind *:443 ssl crt /etc/ssl/yourcert.pem mode http option httpchk;backend bk_http balance roundrobin mode http server s1 10.0.0.2:80 check server s2 10.0.0.3:80 check。
3) 为低延迟媒体流改用 mode tcp 并启用 tcp-check,设置 timeout client 60s、timeout server 60s、maxconn 根据实例规格调整。
1) 安装nginx,配置stream模块做TCP/UDP代理或http用于HLS/HTTPS。
2) SSL终止:在load balancer做cert管理,配置 ssl_certificate、ssl_protocols、OCSP Stapling。
3) 缓存与响应头:对HLS/TS开启缓存并设置合理的 proxy_buffer_size、proxy_buffers,避免阻塞读取。
1) 对直播推流(RTMP/RTSP)需要会话粘滞:可用源IP粘滞(ip_hash)或基于流ID的hash(在HAProxy用 balance uri 或 hdr)。
2) 对回放/下载类可用轮询或最少连接算法(leastconn)。
3) 注意:IP粘滞在NAT或代理场景受限,建议在负载层保留真实源IP(proxy protocol)并在后端解析。
1) 使用HTTP/RTMP/TCP健康检查:HAProxy的 http-check expect or tcp-check,检查返回码或握手成功。
2) 配置Keepalived实现VRRP冗余:priority、track_script 结合 haproxy 状态脚本实现主备切换。
3) 演练:下线单节点,观察会话迁移、延迟与丢包,记录RTO并优化超时参数。
1) 打开HAProxy/nginx详细日志,采集到ELK或Loki,设置关键流量指标(QPS、带宽、连接数、错误率)。
2) Prometheus抓取haproxy_exporter/nginx exporter指标,Grafana做面板,设置阈值告警(带宽接近清洗阈值、后端不可用率)。
3) 定期查看高防控制台的清洗记录,并根据误报调整白名单与速率策略。
1) 内核调优:调整 net.core.somaxconn、net.ipv4.ip_local_port_range、tcp_tw_reuse、tcp_fin_timeout。
2) HAProxy调优:tune.ssl.default-dh-param、nbthread 与 maxconn 配合 CPU。
3) 安全:限制管理接口访问、启用二步验证、定期更新补丁、对媒体URL签名(防盗链)。
答:使用L4负载均衡直通RTMP(HAProxy stream mode 或 LVS),在负载层保留源IP并做基于流ID的会话粘滞,后端实例做本地存活检测;同时在高防控制台配置实时清洗且将健康检测脚本与Keepalived结合实现主备切换,确保推流端不会频繁重连造成延迟。
答:在高防策略中设置分层阈值并结合速率限制(按IP/按URL),在LB层启用速率限制和请求频率检测;启用动态白名单(CDN、可信节点)并通过日志回溯调整阈值,必要时将静态内容交给CDN分发以降低源站压力。
答:按步骤:1) 检查高防控制台流量和清洗日志;2) 查看LB(HAProxy/nginx)后端健康状态与错误日志;3) 用tcpdump/ss检查连接是否到达后端;4) 验证SSL证书与proxy protocol设置;5) 通过逐步回退配置定位问题点并执行演练恢复。