詳解Nginx反向代理實(shí)現(xiàn)會(huì)話(session)保持的兩種方式
一、ip_hash:
ip_hash使用源地址哈希算法,將同一客戶端的請求總是發(fā)往同一個(gè)后端服務(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ù)器宕機(jī)后,session會(huì)丟失;
- 來自同一局域網(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)致來自同一客戶端的請求被傳遞到一組服務(wù)器在同一臺(tái)服務(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的時(shí)間
- domain:定義cookie的域
- path:為cookie定義路徑
另外還可以使用后端服務(wù)器自身通過相關(guān)機(jī)制保持session同步,后面會(huì)詳細(xì)介紹!
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用Bash腳本和Logrotate實(shí)現(xiàn)Nginx日志切割的方法
Logrotate是一個(gè)Linux系統(tǒng)上用來管理日志文件的工具,它可以定期輪轉(zhuǎn)日志文件、壓縮舊的日志文件以及刪除過期的日志文件,這篇文章主要介紹了使用Bash腳本和Logrotate實(shí)現(xiàn)Nginx日志切割,需要的朋友可以參考下2024-05-05
使用google-perftools優(yōu)化nginx在高并發(fā)時(shí)的性能的教程(完整版)
如果使用googler開發(fā)的google-perftools優(yōu)化Nginx和MySQL的內(nèi)存管理,性能將會(huì)有一定程度的提升。特別是對(duì)高并發(fā)下的服務(wù)器,效果更明顯2013-02-02
Nginx中虛擬主機(jī)與指定訪問路徑的設(shè)置方法講解
這篇文章主要介紹了Nginx中虛擬主機(jī)與指定訪問路徑的設(shè)置方法講解,也是在同一個(gè)Nginx程序中部署多個(gè)站點(diǎn)的基本方法,需要的朋友可以參考下2016-03-03
nginx 內(nèi)置變量詳解及隔離進(jìn)行簡單的攔截
這篇文章主要介紹了nginx 隔離進(jìn)行簡單的攔截詳解的相關(guān)資料,這里對(duì)nginx內(nèi)置變量進(jìn)行了簡單的介紹并對(duì)隔離攔截進(jìn)行了詳解, 需要的朋友可以參考下2016-12-12
Nginx HTTP:413 Request Entity Too Large解決方法
這篇文章主要介紹了Nginx HTTP:413 Request Entity Too Large解決方法,這個(gè)問題需要修改PHP配置以及Nginx配置才可以解決,需要的朋友可以參考下2015-07-07
Nginx安裝后/etc/nginx/conf.d下沒有default.conf的解決
nginx.conf是nginx默認(rèn)加載的配置文件 通過nginx -V可以看nginx默認(rèn)配置文件路徑,本文主要介紹了Nginx安裝后/etc/nginx/conf.d下沒有default.conf的解決,感興趣的可以了解一下2023-11-11

