免責(zé)聲明:本文檔可能包含第三方產(chǎn)品信息,該信息僅供參考。阿里云對(duì)第三方產(chǎn)品的性能、可靠性以及操作可能帶來(lái)的潛在影響,不做任何暗示或其他形式的承諾。

概述

開啟負(fù)載均衡SLB中HTTP或HTTPS監(jiān)聽的會(huì)話保持功能時(shí),系統(tǒng)提供植入Cookie重寫Cookie兩種Cookie處理方式。本文主要介紹選擇重寫Cookie時(shí),Web服務(wù)器中如何配置Cookie。

詳細(xì)信息

假設(shè)您選擇將Cookie名稱設(shè)置為BACKEND_SERVER,請(qǐng)參考以下步驟進(jìn)行設(shè)置:

說(shuō)明:此處的Cookie名稱僅為示例,您可以自定義該名稱。

  1. 登錄負(fù)載均衡SLB后端服務(wù)器組中的一臺(tái)服務(wù)器。
  2. 不同的Web服務(wù)器對(duì)應(yīng)的Cookie設(shè)置方法不同,以下列舉常見Web服務(wù)器的設(shè)置方法,請(qǐng)您根據(jù)實(shí)際情況選擇:
    說(shuō)明:如果您使用的Web服務(wù)器不在以下列表中,請(qǐng)您查閱對(duì)應(yīng)的官方文檔獲取配置方法。
    • Apache
      1. 查看Apache的httpd.conf配置文件,確認(rèn)以下配置沒(méi)有被注釋,即Apache正常加載了usertrack_module模塊。
        說(shuō)明:如果以下配置被注釋,您需要移除注釋并重啟Apache服務(wù)。
        LoadModule usertrack_module modules/mod_usertrack.so
      2. 參考以下內(nèi)容,在VirtualHost標(biāo)簽中添加配置。
        CookieName BACKEND_SERVER    #Cookie的名稱,此處以BACKEND_SERVER為例。
        CookieExpires "1 days" #Cookie的過(guò)期時(shí)間,此處以1天為例。
        CookieStyle Cookie
        CookieTracking on
      3. 執(zhí)行以下命令,重新加載Apache的配置文件,使以上改動(dòng)生效。
        service httpd reload
    • Nginx
      1. 編輯Nginx的nginx.conf配置文件,參考以下內(nèi)容進(jìn)行配置。
        server {
            listen 80;
            server_name www.example.com;
            location / {
                add_header Set-Cookie BACKEND_SERVER=<自定義字符串>;    #Cookie的名稱,此處以BACKEND_SERVER為例。
                root   html;
                index  index.html index.htm;
            }
        }
      2. 參考以下命令,重新加載Nginx的配置文件,使以上改動(dòng)生效。
        nginx -s reload
    • Lighttpd
      1. 編輯Lighttpd的lighttpd.conf配置文件,參考以下內(nèi)容進(jìn)行配置。
        server.modules  = ( "mod_setenv" )
        $HTTP["host"] == "www.example.com" {
              server.document-root = "/var/www/html/"
              setenv.add-response-header = ( "Set-Cookie" => "BACKEND_SERVER=<自定義字符串>" )
        }
      2.  重啟Lighttpd服務(wù),使以上改動(dòng)生效。
  3. 參考以上步驟,修改后端服務(wù)器組中的其余Web服務(wù)器配置,使其含有Cookie配置。
  4. 登錄負(fù)載均衡的管理控制臺(tái),參見添加HTTP監(jiān)聽中的步驟二:配置協(xié)議監(jiān)聽章節(jié),修改Cookie處理方式為重寫Cookie,并指定Cookie名稱為BACKEND_SERVER
  5. 測(cè)試服務(wù)器均衡的會(huì)話保持功能,確認(rèn)會(huì)話保持功能正常。如果您不知道如何測(cè)試會(huì)話保持功能,可參見使用curl命令測(cè)試負(fù)載均衡SLB會(huì)話保持的有效性

更多信息

關(guān)于植入Cookie和重寫Cookie的概念和區(qū)別如下:

  • 植入Cookie
    • 概念
      客戶端第一次訪問(wèn)時(shí),負(fù)載均衡會(huì)在返回請(qǐng)求中植入Cookie(即在HTTP/HTTPS響應(yīng)報(bào)文中插入SERVERID),下次客戶端攜帶此Cookie訪問(wèn),負(fù)載均衡服務(wù)會(huì)將請(qǐng)求定向轉(zhuǎn)發(fā)給之前記錄到的后端服務(wù)器上。
    • 區(qū)別
      您只需要在控制臺(tái)上即可指定Cookie的過(guò)期時(shí)間。
  • 重寫Cookie
    • 概念
      當(dāng)負(fù)載均衡服務(wù)發(fā)現(xiàn)用戶自定義了Cookie,將會(huì)對(duì)原來(lái)的Cookie進(jìn)行重寫,下次客戶端攜帶新的Cookie訪問(wèn),負(fù)載均衡服務(wù)會(huì)將請(qǐng)求定向轉(zhuǎn)發(fā)給之前記錄的后端服務(wù)器。
    • 區(qū)別
      您可以根據(jù)需要指定HTTPS/HTTP響應(yīng)中的Cookie,但是您需要在后端服務(wù)器上維護(hù)該Cookie的過(guò)期時(shí)間和生存時(shí)間。

適用于

  • 負(fù)載均衡SLB