amazon-web-services - 我们可以通过 IP 限制具有 lambda 函数的 API 网关吗?
问题描述
我想使用节流阀限制 IP 每秒 100 个请求。是否有可能做到这一点?
解决方案
由于 API 网关首先被触发并且它在您的主要 lambda 之前触发,因此您无法从 lambda 本身控制网关。
但是,API Gateway 有一个自定义授权器(Lambda 授权器),如果启用它会首先触发,一旦执行,请求就会传递给主 lambda。
您可以在 lambda 中编写限制代码,并将该 lambda 作为自定义授权方附加到 API Gateway。此 lambda 现在可以根据您的限制逻辑批准或拒绝请求。
https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html
但是,更直接的解决方案是使用 AWS WAF,您可以使用它直接配置基于 IP 的限制规则。
https://support.stackpath.com/hc/en-us/articles/360001380266-Create-a-Rate-Limit-Rule-with-the-WAF
推荐阅读
- mongodb - 如何使用 Mongodb 聚合框架填充数据?
- python - 使用 Docker 时 Socket IO 响应慢
- android - Data on Firestore console differs from the retrieved when consulting the database
- reactjs - create-react-app 未创建某些文件夹
- postgresql - 将注册表添加到 db:pg:staff "C:/Program Files/PostgreSQL/12/bin/psql" 无法启动
- firebase - 如何触发 Firebase 云功能以添加用户、生成密码并使用该密码发送邮件
- excel - 计算波形周期并计算频率
- angular - New buildable angular library can not be build
- winforms - Powershell GUI 自动生成具有功能的按钮
- javascript - React - TypeError:jokes.map 不是函数