概述

本文主要介绍配置DDoS高防后不能实现会话保持的排查思路。

问题描述

业务配置DDoS高防后,域名接入后进行测试,登录后单击任意的菜单,将会退出登录。

问题原因

  • 没有开启会话保持。
  • 请求经过DDoS高防后,DDoS高防默认会在Cookie中加入一串DDoS高防防攻击用的字段,增长了网站本身的Cookie长度,如果源站服务处理不妥当会出现问题。
    http_cookie:  aliyungf_tc=AQAAAFvyfRtP/AIATUWYDheCsQtZUPVB; SSID=19mjjcefouv7f8cpbuhp2f9lv2; current_menu=%2F 
    					
  • 判断用户Session的存储有基于源IP的校验。

    DDoS高防或WAF开启会话保持是指开启DDoS高防的LVS到DDoS高防IP的Tengine这一段,对于SLB后端的服务器而言,同一个客户端的请求,SLB看到的客户端IP只有一个,即会话保持的那个Tengine的IP地址。 如果不开启会话保持,则对SLB的后端的服务器而言,同一个请求,看到的会有多个客户端IP(Tengine)。

解决方案

  • 开启TCP监听的会话保持。
  • 调整监听为HTTP模式,开启会话保持。
  • 在配置DDoS高防之前,直接访问源站SLB,且没有开启会话保持,访问是正常的。说明登录会话保持,不是依赖SLB实现的。
  • 会话保持的实现方式是使用Session的方式实现的,同时Session全部保存在MemCache中。Session的信息存放在客户端的Cookies中,获取时是通过Session的ID获取,取SSID值,而非依据顺序获取。
  • 开启DDoS高防的会话保持。更多信息,请参见设置会话保持

适用于

  • DDoS高防