免责声明:本文档可能包含第三方产品信息,该信息仅供参考。阿里云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。

概述

开启负载均衡SLB中HTTP或HTTPS监听的会话保持功能时,系统提供植入Cookie重写Cookie两种Cookie处理方式。本文主要介绍选择重写Cookie时,Web服务器中如何配置Cookie。

详细信息

假设您选择将Cookie名称设置为BACKEND_SERVER,请参考以下步骤进行设置:

说明:此处的Cookie名称仅为示例,您可以自定义该名称。

  1. 登录负载均衡SLB后端服务器组中的一台服务器。
  2. 不同的Web服务器对应的Cookie设置方法不同,以下列举常见Web服务器的设置方法,请您根据实际情况选择:
    说明:如果您使用的Web服务器不在以下列表中,请您查阅对应的官方文档获取配置方法。
    • Apache
      1. 查看Apache的httpd.conf配置文件,确认以下配置没有被注释,即Apache正常加载了usertrack_module模块。
        说明:如果以下配置被注释,您需要移除注释并重启Apache服务。
        LoadModule usertrack_module modules/mod_usertrack.so
      2. 参考以下内容,在VirtualHost标签中添加配置。
        CookieName BACKEND_SERVER    #Cookie的名称,此处以BACKEND_SERVER为例。
        CookieExpires "1 days" #Cookie的过期时间,此处以1天为例。
        CookieStyle Cookie
        CookieTracking on
      3. 执行以下命令,重新加载Apache的配置文件,使以上改动生效。
        service httpd reload
    • Nginx
      1. 编辑Nginx的nginx.conf配置文件,参考以下内容进行配置。
        server {
            listen 80;
            server_name www.example.com;
            location / {
                add_header Set-Cookie name=BACKEND_SERVER;    #Cookie的名称,此处以BACKEND_SERVER为例。
                root   html;
                index  index.html index.htm;
            }
        }
      2. 参考以下命令,重新加载Nginx的配置文件,使以上改动生效。
        nginx -s reload
    • Lighttpd
      1. 编辑Lighttpd的lighttpd.conf配置文件,参考以下内容进行配置。
        server.modules  = ( "mod_setenv" )
        $HTTP["host"] == "www.example.com" {
              server.document-root = "/var/www/html/"
              setenv.add-response-header = ( "Set-Cookie" => "name=BACKEND_SERVER" )
        }
      2.  重启Lighttpd服务,使以上改动生效。
  3. 参考以上步骤,修改后端服务器组中的其余Web服务器配置,使其含有Cookie配置。
  4. 登录负载均衡的管理控制台,参见添加HTTP监听中的步骤二:配置协议监听章节,修改Cookie处理方式为重写Cookie,并指定Cookie名称为BACKEND_SERVER
  5. 测试服务器均衡的会话保持功能,确认会话保持功能正常。如果您不知道如何测试会话保持功能,可参见使用curl命令测试负载均衡SLB会话保持的有效性

更多信息

关于植入Cookie和重写Cookie的概念和区别如下:

  • 植入Cookie
    • 概念
      客户端第一次访问时,负载均衡会在返回请求中植入Cookie(即在HTTP/HTTPS响应报文中插入SERVERID),下次客户端携带此Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器上。
    • 区别
      您只需要在控制台上即可指定Cookie的过期时间。
  • 重写Cookie
    • 概念
      当负载均衡服务发现用户自定义了Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问,负载均衡服务会将请求定向转发给之前记录的后端服务器。
    • 区别
      您可以根据需要指定HTTPS/HTTP响应中的Cookie,但是您需要在后端服务器上维护该Cookie的过期时间和生存时间。

适用于

  • 负载均衡SLB