詳解Nginx反向代理實現(xiàn)會話(session)保持的兩種方式
一、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簡單易用,但有如下問題:
- 當后端服務(wù)器宕機后,session會丟失;
- 來自同一局域網(wǎng)的客戶端會被轉(zhuǎn)發(fā)到同一個后端服務(wù)器,可能導(dǎo)致負載失衡;
- 不適用于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)致負載失衡的情況。
語法:
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同步,后面會詳細介紹!
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
nginx反向代理導(dǎo)致session失效的問題解決
這篇文章主要介紹了nginx反向代理導(dǎo)致session失效的問題解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06Nginx服務(wù)器的location指令匹配規(guī)則詳解
這篇文章主要介紹了Nginx服務(wù)器的location指令匹配規(guī)則,文中介紹了一種動靜態(tài)地址分離的方法示例,需要的朋友可以參考下2015-12-12Nginx+Keepalived實現(xiàn)雙機主備的方法
這篇文章主要介紹了Nginx+Keepalived實現(xiàn)雙機主備的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03Nginx+keepalived實現(xiàn)七層的負載均衡的高可用(最新解決方案)
這篇文章主要介紹了Nginx+keepalived實現(xiàn)七層的負載均衡的高可用,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-03-03分布式架構(gòu)中關(guān)于正向代理反向代理面試提問
這篇文章主要為大家介紹了分布式架構(gòu)中關(guān)于正向代理反向代理的面試提問,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2022-03-03使用log_format為Nginx服務(wù)器設(shè)置更詳細的日志格式方法
下面小編就為大家分享一篇使用log_format為Nginx服務(wù)器設(shè)置更詳細的日志格式方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03詳解Nginx反向代理實現(xiàn)Kibana登錄認證功能
這篇文章主要介紹了詳解Nginx反向代理實現(xiàn)Kibana登錄認證功能,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06