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