在云基础架构的Adobe Commerce中配置Fastly速率限制
Fastly在云基础架构上的Adobe Commerce中的速率限制设置延迟了请求,并在超出阈值时返回HTTP 429 (超出限制)错误。 要解决此问题,请更新Fastly的VCL代码片段中的tarpit间隔。
描述 description
环境
云基础架构上的Adobe Commerce,v2.4.4 - 2.4.8-p2
问题/症状
- 在超出请求阈值时,Fastly返回HTTP 429 (超出限制)错误。
- 由于强制的延迟间隔和处罚持续时间,请求速度变慢。
- 冷却期的持续时间未明确定义或不可访问。
- 没有直接的方法可检索或修改延迟间隔、其角色及其调整方式。
解决方法 resolution
Fastly使用滑动窗口算法根据可配置的参数(如请求阈值和惩罚持续时间)实施速率限制。 要了解和调整这些设置,请执行以下步骤:
-
Fastly在滚动时间窗口(例如,3600秒)上实施速率限制。 当IP超过阈值时:
- Fastly返回HTTP 429 (超出限制)响应。
- 在请求计数低于窗口内的阈值之前,阻止操作会一直继续。
- Adobe Commerce通过向Fastly发送 429 响应来启动速率限制,然后将IP置于临时减速区域
tarpit中。
-
Adobe Commerce使用
tarpit interval来减慢来自超过速率限制的IP的请求速度。 触发时,它会引入延迟(默认为5秒),然后才会处理进一步的请求。 您可以通过Fastly的API调整此间隔。 -
要在云基础架构上的Adobe Commerce中更改延迟时间间隔,请执行以下步骤:
- 获取Fastly API令牌以进行身份验证。
- 使用Fastly API获取服务的活动VCL配置。
- 找到
magentomodule_rate_limiting_deliver代码片段。 - 将
tarpit_interval参数更新为您的所需值(例如,从5秒增加)。 - 使用Fastly的API端点上传修改的VCL配置。
- 激活更新版本以应用更改。
其他备注:
- 这些设置专门适用于Adobe Commerce与Fastly的集成。
- 在部署到生产环境之前,请始终在暂存环境中测试配置更改。
- 有关编辑VCL片段或使用Fastly的API的详细指导,请参阅Fastly的官方文档或联系支持团队。
相关阅读
- 在Adobe Commerce on Cloud基础架构指南中配置Fastly服务
- Adobe Commerce on Cloud基础架构指南中的Fastly服务概述
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f