当前位置: 首页 > news >正文

CDN + WAF + CLB + Higress 架构下的 TLS 加解密详细解析(适用阿里云)

在云环境中,Web 应用常见架构是:

用户 → CDN → WAF → CLB → ECS/Higress

本文详细解析 WAF 在网络拓扑中的位置、TLS 加解密流程、回源逻辑,以及自定义接入模式下的注意事项,结合阿里云官方推荐实践。

 

1.WAF 在网络拓扑中的位置

  阿里云 WAF 提供两种主要接入模式:

1.自定义接入(CNAME 域名)

    • 用户访问域名指向 WAF CNAME。
    • WAF 可对 HTTP/HTTPS 请求做安全检测。
    • 可手动选择回源协议(HTTP/HTTPS)。

2.云资产接入(阿里云推荐)

    • 直接选择云资源(如 CLB、ECS、ALB)作为源站。
    • WAF 自动沿用源站监听配置,不提供单独回源协议选择。
    • 简化配置,兼容阿里云云产品。

 

2.CDN 与 WAF 的顺序

2.1 阿里云官方推荐顺序

  用户 → CDN → WAF → 源站(CLB/ECS/Higress)

  优点

  • CDN 缓存静态资源,减少 WAF 与源站压力。
  • WAF 仅检测 CDN 回源流量(动态请求)。

  适用场景:大部分互联网应用。

 

2.2 非推荐顺序

用户 → WAF → CDN → 源站

缺点

  • 所有流量都必须经过 WAF,包括静态资源,增加 CPU 负载。
  • CDN 缓存效率可能降低。

适用场景:对静态资源也有严格安全需求,但成本高,不常用。

 

3.WAF + L4 CLB + Higress 架构解析

3.1 原始架构(无 WAF)

  用户 → CLB (L4 TCP 443) → ECS → Higress (L7 HTTPS)

  • CLB 是 L4,只做 TCP 转发,不解密 TLS。
  • Higress 负责 TLS 解密 + L7 路由

 

3.2  加入 WAF 后

用户 → WAF (L7 HTTPS) → CLB (L4 TCP 443) → ECS → Higress (L7 HTTPS)

  • WAF 解密 TLS,做安全检测。
  • 回源到 CLB 时,WAF 重新加密 TLS。
  • CLB 仅做 TCP 透传,Higress 再解密。

 

4.TLS 加解密详细流程

 

5.云资产接入与自定义接入的回源差异

 

6.回源协议对性能和安全的影响

 

7.拓扑图示意

         用户端(HTTPS/TLS1)│▼+----------+|   WAF    ||  L7 解密  |+----------+│(HTTPS/TLS2 回源)│▼+----------+|   CLB    ||  L4 TCP  |+----------+│▼+----------+| Higress  || L7 解密  |+----------+│▼应用服务后端
  • TLS1:用户到 WAF
  • TLS2:WAF 回源到 CLB → Higress
  • CLB 仅透传 TLS2,不解密

 

8.总结与最佳实践

1.CDN + WAF + 源站顺序

    • 官方推荐:用户 → CDN → WAF → 源站
    • 避免 WAF 处理全部流量,提升性能。

2.WAF 加入后 TLS 逻辑

    • 必须解密 TLS 才能做安全检测。
    • 回源到 L4 CLB 时,仍然走 HTTPS,Higress 再解密。

3.云资产接入注意事项

    • WAF 回源协议自动跟随源站监听,不可手动更改。
    • Higress 仅支持 HTTPS 时,云资产接入自动使用 HTTPS 回源。

4.性能与安全权衡

    • 双 TLS 增加 CPU 消耗,但保证端到端加密和安全防护完整性。
    • HTTP 回源可提升性能,但仅在内网安全环境可信时使用。

 

💡 Tips

静态资源尽量由 CDN 缓存,减少 WAF 负载。

架构设计时明确 TLS 解密节点,避免重复证书配置。

云资产接入模式下配置简单,但对回源协议控制有限;自定义接入模式灵活,但需手动配置。

 

参考: https://help.aliyun.com/zh/waf/web-application-firewall-3-0/user-guide/overview-8?spm=a2c4g.11186623.help-menu-28515.d_3_2_0.7c8d5582hoEehh

http://www.hskmm.com/?act=detail&tid=20939

相关文章:

  • react useMemo Hook详解
  • react useContext 详解
  • Python技能大赛-备赛建议
  • 【软件系统架构】系列七:系统性能——操作系统性能深入解析 - 实践
  • 你的下一款定位神器,何必是GPS?Nordic带你解锁Wi-Fi SSID的隐藏潜能
  • CF407E k-d-sequence 题目分析(0929模拟赛最后一题)
  • Linux 生成随机端口
  • MATLAB 中 dsp.FFT 系统对象:从原理到实践的完整指南
  • 并发编程可见性
  • C# Devexpress GridControl实现全选功能(转载,记录)
  • github Connection reset by 20.205.243.160 port 443 fatal: Could not read from remote repository.
  • VsCode Ai插件
  • 完整教程:基于完全分布式模式部署Hadoop(喂饭教程)
  • Vue 3.6 引入 Vapor Mode,虚拟DOM已死?
  • part 10
  • Nordic发布用于nRF54L系列的nRF Connect SDK裸机选项
  • 微软SSO集成中的顺序用户ID身份验证绕过漏洞剖析
  • content和text方法的区别
  • shell脚本动态域名解析阿里云
  • 聪明的wyk
  • Windows下进程和账户权限
  • Spring Gateway动态路由实现方案 - 详解
  • Nordic 高性能无线SoC nRF54LM20A,专为低功耗蓝牙与Matter设计
  • 调用setState 之后发生了什么?
  • element plus 配置主题色
  • Python教程:解决pip安装包时报错:error: externally-managed-environment This environment is externally managed
  • 哲学家进餐问题
  • 16.1 总体主成分分析
  • 黄金分割比
  • 借助Aspose.Email,使用 Python 读取 Outlook MSG 文件