溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

詳解Nginx反向代理實現(xiàn)會話(session)保持的兩種方式

發(fā)布時間:2020-09-07 06:14:08 來源:腳本之家 閱讀:154 作者:拼盡全力前進 欄目:服務(wù)器

一、ip_hash:

ip_hash使用源地址哈希算法,將同一客戶端的請求總是發(fā)往同一個后端服務(wù)器,除非該服務(wù)器不可用。

ip_hash語法:

 upstream backend {
  ip_hash;
  server backend1.example.com;
  server backend2.example.com;
  server backend3.example.com down;
  server backend4.example.com;
}

ip_hash簡單易用,但有如下問題:

  • 當(dāng)后端服務(wù)器宕機后,session會丟失;
  • 來自同一局域網(wǎng)的客戶端會被轉(zhuǎn)發(fā)到同一個后端服務(wù)器,可能導(dǎo)致負(fù)載失衡;
  • 不適用于CDN網(wǎng)絡(luò),不適用于前段還有代理的情況。

二、sticky_cookie_insert:

使用sticky_cookie_insert啟用會話親緣關(guān)系,這會導(dǎo)致來自同一客戶端的請求被傳遞到一組服務(wù)器在同一臺服務(wù)器。與ip_hash不同之處在于,它不是基于IP來判斷客戶端的,而是基于cookie來判斷。因此可以避免上述ip_hash中來自同一局域網(wǎng)的客戶端和前段代理導(dǎo)致負(fù)載失衡的情況。

語法:

 upstream backend {
  server backend1.example.com;
  server backend2.example.com;
  sticky_cookie_insert srv_id expires=1h domain=toxingwang.com path=/;
}

說明:

  • expires:設(shè)置瀏覽器中保持cookie的時間
  • domain:定義cookie的域
  • path:為cookie定義路徑

另外還可以使用后端服務(wù)器自身通過相關(guān)機制保持session同步,后面會詳細(xì)介紹!

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI