You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Web Application Firewall(WAF)与Amazon EC2实例集成?

解决EC2 Web应用集成AWS WAF的问题

你观察得很准确——AWS WAF确实没办法直接关联到EC2实例本身,它只能绑定到CloudFront、Application Load Balancer(ALB)、API Gateway这类前端服务上。不过你有两个清晰的方案可选,不一定非要搭建CloudFront,看你的实际需求来选:

方案一:通过Application Load Balancer(ALB)集成WAF

这是最直接的轻量方案,适合不需要CDN加速的场景:

  • 先创建一个ALB,将你的EC2实例添加到ALB的目标组中(确保EC2上的Web服务能正常响应ALB的健康检查)
  • 到AWS WAF控制台,创建或选择已有的WAF规则集,关联到这个ALB上
  • 调整EC2的安全组,只允许ALB的流量进入(拒绝直接的公网访问),同时把你的域名解析到ALB的DNS地址
  • 优点:架构改动小,配置简单,不需要额外的CDN成本;所有请求都会先经过WAF过滤,再到ALB转发给EC2

方案二:通过CloudFront分发集成WAF

如果你需要CDN加速、全球访问优化,或者想隐藏EC2的真实IP,这个方案更合适:

  • 创建一个CloudFront分发,将源设置为你的EC2实例的公网IP或公有DNS
  • 在CloudFront配置里,把WAF规则集关联到这个分发上
  • 调整EC2的安全组,只允许CloudFront的IP段访问(可以用AWS提供的AmazonCloudFrontFrontend前缀列表来简化配置)
  • 把域名解析到CloudFront的分发域名上,同时可以配置自定义证书让CloudFront支持HTTPS
  • 注意:如果你的Web应用是动态内容(比如电商后台、用户系统),要在CloudFront的缓存行为里设置不缓存,避免返回旧内容
  • 优点:借助CloudFront的边缘节点提升访问速度,隐藏EC2真实IP减少攻击面,同时获得WAF的防护能力

不管选哪种方案,核心都是让所有用户请求先经过WAF关联的前端服务,再到达你的EC2实例,这样WAF才能发挥防护作用。

内容的提问来源于stack exchange,提问作者qwerty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:12:56