問題描述
在配置阿里云DDoS高防后,訪問網站時提示502報錯。
問題原因
在DDoS高防作為代理服務器嘗試執行請求時,從上游服務器收到了無效的響應,導致發生502錯誤。因此,說明DDoS高防服務和源站之間的連接存在問題。在完成網站業務切換后,網站的正常訪問流量經過DDoS高防實例清洗,并由DDoS高防回源IP地址轉發至源站服務器。因此,如果DDoS高防的回源地址不在源站防火墻的白名單中,訪問流量可能被錯誤攔截,導致網站無法訪問。根據分析可知,發生報錯的可能原因如下:
解決方案
DDoS高防回源IP被源站攔截或限速
只要在源站放行所有的DDoS高防的回源IP,即可解決出現的502錯誤。設置放行DDoS高防回源IP的方法有以下兩種:
- 請參見放行DDoS高防回源IP,獲取DDoS高防的回源IP網段,并在您源站的防火墻、主機安全防護軟件(如安全狗)中將回源IP網段添加到白名單。
說明 為網站啟用DDoS高防服務時,為了避免DDoS高防的回源流量被源站服務器上的安全軟件誤攔截,建議您設置放行DDoS高防回源IP。
- 直接關閉源站的防火墻和主機安全防護軟件。
源站本身出現異常
源站本身出現異常,將導致響應高防的請求超時,源站異常包括以下幾種情況:
- 源站IP暴露,被惡意攻擊導致癱瘓。
- 源站服務器機房物理故障。
- 源站服務器中Apache、Nginx等Web服務出現問題。
- 服務器內存、CPU占用過高,導致性能驟降。
- 源站上行鏈路擁擠阻塞。
可通過以下方法進行排查并進行處理:
- 修改本機
hosts
文件,將域名直接指向源站IP。- 如果直接通過源站IP也不能訪問,請執行以下檢查操作,如果存在丟包或超時等現象,則可判斷是源站本身出現異常,請根據源站異常的實際情況進行修復后,繼續進行下一步排查。
- 請參見使用ping命令丟包或不通時的鏈路測試方法,使用ping命令測試與源站IP連通性時,檢查是否存在丟包情況。
- 使用
telnet
命令測試端口連通性,查看是否存在超時情況。
- 如果直接通過源站IP訪問正常,則需要核實DDoS高防配置是否異常。
- 如果直接通過源站IP也不能訪問,請執行以下檢查操作,如果存在丟包或超時等現象,則可判斷是源站本身出現異常,請根據源站異常的實際情況進行修復后,繼續進行下一步排查。
- 查看源站流量、請求量是否有大量增長,同時對比DDoS高防管理控制臺中的監控。如果源站遭到大流量攻擊,但DDoS高防管理控制臺顯示無異常,則有可能是攻擊繞過DDoS高防直接攻擊源站。這種情況,可能是源站IP暴露,被惡意攻擊導致癱瘓。建議您盡快更換源站IP。更多信息,請參見更換源站ECS公網IP。
說明
- 正常情況下,客戶端請求訪問DDoS高防,DDoS高防服務收到請求后把真實客戶端的源IP轉換成高防的回源IP(把真實客戶端IP放在HTTP頭部的X-Forwarded-For字段中)發送給源站。
- 如果源站IP暴露,客戶端可以直接請求訪問源站,這樣就繞過了DDoS高防服務提供的防護。
- 排除遭受攻擊的原因后,可查看源站服務器的CPU和內存占用情況、帶寬的監控情況、服務器中服務的進程狀態情況等。如有異常,請根據現場實際異常的情況進行修復。
網絡出現擁塞或抖動
在已經排除以上兩種原因后,偶發的局部網絡抖動、運營商線路故障等因素,也可能導致502錯誤。
相關文檔
適用于
DDoS高防
如果您的問題仍未解決,您可以在阿里云社區免費咨詢。