主頁(yè) > 知識(shí)庫(kù) > 詳解Nginx反向代理實(shí)現(xiàn)會(huì)話(session)保持的兩種方式

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

熱門標(biāo)簽:使用U盤裝系統(tǒng) 智能手機(jī) 硅谷的囚徒呼叫中心 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 美圖手機(jī) 網(wǎng)站建設(shè) 阿里云 檢查注冊(cè)表項(xiàng)

一、ip_hash:

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

ip_hash語(yǔ)法:

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

ip_hash簡(jiǎn)單易用,但有如下問(wèn)題:

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

二、sticky_cookie_insert:

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

語(yǔ)法:

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

說(shuō)明:

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

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:黃山 山南 懷化 煙臺(tái) 湘潭 湖北 賀州 通遼

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解Nginx反向代理實(shí)現(xiàn)會(huì)話(session)保持的兩種方式》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266