在雲端基礎結構的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會使用滑動視窗演演算法,根據可設定的引數(例如要求臨界值和罰款持續時間)來強制實行速率限制。 若要瞭解並調整這些設定,請遵循下列步驟:

  1. Fastly會在滾動時間範圍內(例如3600秒)強制執行速率限制。 當IP超過臨界值時:

    • Fastly傳回HTTP 429超過限制)回應。
    • 封鎖會持續到要求計數在視窗內降至臨界值以下為止。
    • Adobe Commerce透過傳送​ 429 ​回應給Fastly來啟動速率限制,這會將IP置於tarpit (暫時性減速區域)中。
  2. Adobe Commerce使用tarpit interval來減慢來自超過速率限制之IP的請求速度。 觸發時,它會引入延遲(預設為5秒),然後才會處理進一步的請求。 您可以透過Fastly的API調整此間隔。

  3. 若要變更雲端基礎結構上Adobe Commerce中的延遲間隔,請執行下列步驟:

    1. 取得您的Fastly API Token以進行驗證。
    2. 使用Fastly API擷取您服務的作用中VCL組態
    3. 找到magentomodule_rate_limiting_deliver程式碼片段。
    4. tarpit_interval引數更新為您的所需值(例如,從5秒增加)。
    5. 使用Fastly的API端點上傳修改過的VCL設定。
    6. 啟動更新版本以套用變更。

其他附註:

  • 這些設定特別適用於Adobe Commerce與Fastly的整合。
  • 部署到生產環境之前,請務必在中繼環境中測試設定變更。
  • 如需有關編輯VCL片段或使用Fastly的API的詳細指引,請參閱Fastly的官方檔案或聯絡支援團隊

相關閱讀

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f