概述
本文主要介紹配置DDoS高防後不能實現會話保持的排查思路。
問題描述
業務配置DDoS高防後,網域名稱接入後進行測試,登入後單擊任意的菜單,將會退出登入。
問題原因
- 沒有開啟會話保持。
- 請求經過DDoS高防後,DDoS高防預設會在Cookie中加入一串DDoS高防防攻擊用的欄位,增長了網站本身的Cookie長度,如果來源站點服務處理不妥當會出現問題。
http_cookie: aliyungf_tc=AQAAAFvyfRtP/AIATUWYDheCsQtZUPVB; SSID=19mjjcefouv7f8cpbuhp2f9lv2; current_menu=%2F - 判斷使用者Session的儲存有基於源IP的校正。
DDoS高防或WAF開啟會話保持是指開啟DDoS高防的LVS到Anti-DDoS Pro的Tengine這一段,對於SLB後端的伺服器而言,同一個用戶端的請求,SLB看到的用戶端IP只有一個,即會話保持的那個Tengine的IP地址。 如果不開啟會話保持,則對SLB的後端的伺服器而言,同一個請求,看到的會有多個用戶端IP(Tengine)。
解決方案
- 開啟TCP監聽的會話保持。
- 調整監聽為HTTP模式,開啟會話保持。
- 在配置DDoS高防之前,直接存取來源站點SLB,且沒有開啟會話保持,訪問是正常的。說明登入工作階段保持,不是依賴SLB實現的。
- 會話保持的實現方式是使用Session的方式實現的,同時Session全部儲存在MemCache中。Session的資訊存放在用戶端的Cookies中,擷取時是通過Session的ID擷取,取SSID值,而非依據順序擷取。
- 開啟DDoS高防的會話保持。更多資訊,請參見配置會話保持。
適用於
- DDoS高防