繁体   English   中英

AWS WAF 对 cloudfront 后面的 apigateway 没有影响

[英]AWS WAF has no effect on apigateway behind cloudfront

我有一个指向 API 网关端点的 CloudFront 分配。 我在那个发行版上插入了一个 WAF ACL,它似乎可以工作。 当我使用 CloudFront 访问 API 网关端点时,我被阻止了(这是我在 ACL 上配置的所需行为)

   https://<my-cloudfront-domain-name>/<my>/<api>/<endpoint> -> deny and I get a 403/blocked -> OK!

如果我“单独”到达终点(不在 cf 分布后面),我可以正常到达终点。 即使我以孤立的方式到达 API,我也希望被阻止

 https://<api-id>.execute-api.us-east-1.amazonaws.com/<my>/<api>/<endpoint> -> passed and I get a 200 -> NOT OK...

我的堆栈是使用serverless framework的,我的 API 网关来自edge类型

API 网关可以通过 API 密钥限制访问。 CloudFront 在访问源时可以发送自定义的秘密 x-api-key header。 在对 API 网关的其他请求中缺少该 header 将导致 API 请求以 403 Forbidden 被拒绝。

请参阅使用 Amazon API 网关和 AWS WAF 保护您的 API,第1部分和第2部分。

我们遇到了完全相同的问题并联系了 AWS 支持,支持说边缘优化的 API 前面是默认的 CF 分布,WAF 无法识别。 要使 WAF 为默认调用 URL 工作,您需要将端点类型更改为区域,或创建自定义 CF 分发。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM