免責(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名稱僅為示例,您可以自定義該名稱。
- 登錄負(fù)載均衡SLB后端服務(wù)器組中的一臺(tái)服務(wù)器。
- 不同的Web服務(wù)器對(duì)應(yīng)的Cookie設(shè)置方法不同,以下列舉常見Web服務(wù)器的設(shè)置方法,請(qǐng)您根據(jù)實(shí)際情況選擇:
說(shuō)明:如果您使用的Web服務(wù)器不在以下列表中,請(qǐng)您查閱對(duì)應(yīng)的官方文檔獲取配置方法。
- Apache
- 查看Apache的
httpd.conf
配置文件,確認(rèn)以下配置沒(méi)有被注釋,即Apache正常加載了usertrack_module
模塊。說(shuō)明:如果以下配置被注釋,您需要移除注釋并重啟Apache服務(wù)。
LoadModule usertrack_module modules/mod_usertrack.so
- 參考以下內(nèi)容,在
VirtualHost
標(biāo)簽中添加配置。CookieName BACKEND_SERVER #Cookie的名稱,此處以BACKEND_SERVER為例。
CookieExpires "1 days" #Cookie的過(guò)期時(shí)間,此處以1天為例。
CookieStyle Cookie
CookieTracking on - 執(zhí)行以下命令,重新加載Apache的配置文件,使以上改動(dòng)生效。
service httpd reload
- 查看Apache的
- Nginx
- 編輯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;
}
} - 參考以下命令,重新加載Nginx的配置文件,使以上改動(dòng)生效。
nginx -s reload
- 編輯Nginx的
- Lighttpd
- 編輯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=<自定義字符串>" )
} - 重啟Lighttpd服務(wù),使以上改動(dòng)生效。
- 編輯Lighttpd的
- Apache
- 參考以上步驟,修改后端服務(wù)器組中的其余Web服務(wù)器配置,使其含有Cookie配置。
- 登錄負(fù)載均衡的管理控制臺(tái),參見添加HTTP監(jiān)聽中的步驟二:配置協(xié)議監(jiān)聽章節(jié),修改Cookie處理方式為重寫Cookie,并指定Cookie名稱為
BACKEND_SERVER
。 - 測(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