Azure CDN被攻擊的時候,出現Http Status code 429
分析:
CDN 不會自己產出 429 狀態碼,緩存服務器應該也不會產出 429,很大的可能是
1. 源站回覆給CDN, 然後CDN 回覆給最終用戶, 這理指的源站也不會是您 VM 那CDN 角色
2. WAF 配置. 因為官方網站有提及, 如果匹配到指定的過濾條件, 也是有可能回覆 429
處理方法:
建議【先確認哪裡發出 429】
1、檢查源站 Log: 如果是, 表示源站有資源瓶頸.
2、檢查 WAF Log: 如果是, 表示有過濾到目標. (這也是使用WAF的目的)
如何檢查 WAF Log? 可參考下面連結:
https://learn.microsoft.com/zh-cn/azure/web-application-firewall/afds/waf-front-door-monitor?pivots=front-door-standard-premium
在產出 WAF log 後需要檢查 WAF log (JSON格式), 找出 Block 429 的資訊.上面文件也有提及如何觀察 WAF Log.
如果已確認是CDN (WAF) 產生429,建議開啟WAF紀錄,調整WAF條件,使其滿足真實的需求,例如有擋到不該擋的,就放開條件;要調整就必須參考WAF 阻擋紀錄來進行調整
※Http Status code 429:Too Many Requests
詳細說明可參考此頁面:HTTP response status codes 429 Too Many Requests
參考資料:
沒有留言:
張貼留言