You need to enable JavaScript to run this app.
文档中心
负载均衡

负载均衡

复制全文
下载 pdf
最佳实践
七层监听器配置基于Cookie的会话保持
复制全文
下载 pdf
七层监听器配置基于Cookie的会话保持
本文将介绍七层监听器如何配置会话保持能力,使来自同一客户端的访问请求被负载均衡转发到相同的后端服务器进行处理。​
场景介绍​
负载均衡七层监听器支持基于Cookie的会话保持功能,提供植入Cookie和重写Cookie两种方式。​
  • 植入Cookie方式配置简单,仅需要在负载均衡控制台开启会话保持功能并设置会话保持超时时间。​
  • 重写Cookie方式需要先在后端服务器的Web服务器中配置Cookie,然后在负载均衡控制台开启会话保持并设置Cookie名称。​
本文以重写Cookie为例,为您介绍如何为七层监听器配置会话保持功能。​
配置说明​
  • 请确保后端服务器已安装Web服务器,如Nginx、Apache等。​
  • Nginx:高性能的HTTP和反向代理的轻量级Web服务器,本文以Nginx 1.20.1为例。​
  • Apache:性能稳定的Web网页服务器,本文以Apache 2.4.6为例。​
  • 请确保待开启会话保持功能的七层监听器调度算法为加权轮询(WRR)。​
配置步骤​
步骤一:为后端服务器配置Cookie​
不同Web服务器的Cookie配置方式不同,本文以Nginx、Apache为例,为您介绍Cookie配置步骤。​
Nginx​
  1. 登录CLB实例中的某一台后端服务器,详细步骤请参见登录Linux实例或登录Windows实例。​
  1. 执行以下命令,查看Nginx配置文件的路径。​
  • ​
    find / -name nginx.conf​
    ​
  • 回显即为Nginx配置文件所在路径,如下图所示。​
  • ​alt​​
  1. 执行以下命令,在配置文件目录下备份配置文件。​
  • ​
    cd /etc/nginx ​
    cp nginx.conf nginx.conf.bak​
    ​
  1. 执行以下命令,修改原Nginx配置文件。​
  • ​
    vi nginx.conf​
    ​
  1. 按i进入编辑模式,在server配置信息中添加配置字段location,配置cookie信息。​
  • ​
    ···​
    server {​
    listen 80;​
    listen [::]:80;​
    server_name localhost;​
    location / {​
    add_header Set-Cookie backend_server="ecs01"; # 设置cookie,backend_server表示cookie名称,ecs01表示cookie的值​
    expires 3600; # 设置cookie过期时间​
    root html;​
    return 200 '$request;$http_host;$server_port;$server_addr'; # 设置响应格式​
    index index.html index.htm;​
    } ​
    ···​
    ​
  1. 按ESC退出编辑模式,输入:wq保存并退出文件。​
  1. 执行以下命令,重启Nginx使配置生效。​
  • ​
    systemctl restart nginx.service​
    ​
  1. 参考以上步骤完成CLB实例后端服务器组中所有后端服务器的cookie配置。​
Apache​
  1. 登录CLB实例中的某一台后端服务器,详细步骤请参见登录Linux实例或登录Windows实例。​
  1. 执行以下命令,查看Apache配置文件的路径。​
  • ​
    httpd -V​
    ​
  • 回显如下图所示,表示Apache配置文件路径为/etc/httpd/conf/httpd.conf。​
  • ​alt​​
  1. 执行以下命令,在Apache配置文件目录下备份配置文件。​
  • ​
    cd /etc/httpd/conf ​
    cp httpd.conf httpd.conf.bak​
    ​
  1. 执行以下命令,修改原Apache配置文件。​
  • ​
    vi httpd.conf​
    ​
  1. 按i进入编辑模式,在Apache配置文件末尾添加以下信息配置cookie。​
  • ​
    Header add Set-Cookie "backend_server=ecs01; expires=3600"​
    ​
  1. 按ESC退出编辑模式,输入:wq保存并退出文件。​
  1. 执行以下命令,重启Apache使配置生效。​
  • systemctl restart httpd.service​
  1. 参考以上步骤完成CLB实例后端服务器组中所有后端服务器的cookie配置。​
步骤二:为七层监听器启用会话保持功能​
  1. 登录CLB控制台。 ​
  1. 在顶部导航栏,选择目标CLB实例所属的项目和地域。​
  1. 单击目标CLB实例右侧的配置监听器按钮。​
  1. 单击目标监听器右侧的编辑监听器按钮,配置监听器的会话保持功能。​
注意​
此处Cookie名称请与后端服务器的Cookie配置保持一致。​
  • ​​​
  1. 单击确定按钮,完成操作。​
步骤三:验证会话保持的有效性​
  1. 登录客户端设备。​
  1. 在命令行窗口多次执行以下命令,查看返回的后端服务器信息。​
  • ​
    curl -v http://CLB实例的公网IP:监听端口​
    ​
  • 多次返回的后端服务器信息如下图所示,其中包含Set-Cookie字段且返回的值相同时,说明会话保持生效,同一客户端的访问请求被转发到同一台后端服务器。​
  • ​alt​​
​
最近更新时间:2025.09.05 17:00:34
这个页面对您有帮助吗?
有用
有用
无用
无用