nginx反向代理

反向代理:反向代理通常用于外網(wǎng)訪問(wèn)內(nèi)網(wǎng),客戶(hù)端發(fā)送請(qǐng)求,到代理服務(wù)器,代理服務(wù)器通過(guò)代理服務(wù)器域名將請(qǐng)求轉(zhuǎn)發(fā)到目的服務(wù)器

反向代理:代理的是服務(wù)器,反向代理通常結(jié)合負(fù)載均衡使用

負(fù)載均衡:主要是解決單個(gè)服務(wù)器節(jié)點(diǎn)流量過(guò)大,服務(wù)器響應(yīng)過(guò)慢的問(wèn)題


反向代理示意圖

nginx負(fù)載均衡策略:

輪循(round-robin)默認(rèn)策略

根據(jù)請(qǐng)求次數(shù),將每個(gè)請(qǐng)求均勻分配到每臺(tái)服務(wù)器,如果后端服務(wù)器宕機(jī),自動(dòng)剔除。

權(quán)重(Weight)

把請(qǐng)求更多的分配到高配置的后端服務(wù)器上,默認(rèn)每個(gè)服務(wù)器的權(quán)重都是1。

ip_hash

同一客戶(hù)端的Web請(qǐng)求被分發(fā)到同一個(gè)后端服務(wù)器進(jìn)行處理,使用該策略可以有效的避免用戶(hù)Session失效的問(wèn)題。該策略可以連續(xù)產(chǎn)生1045個(gè)互異的value,經(jīng)過(guò)20次hash仍然找不到可用的機(jī)器時(shí),算法會(huì)退化成輪循。

最少連接(last_conn)

Web請(qǐng)求會(huì)被轉(zhuǎn)發(fā)到連接數(shù)最少的服務(wù)器上。

參數(shù)說(shuō)明

weight

啟用權(quán)重策略,總數(shù)按照10進(jìn)行計(jì)算,如果分配為3,則表示所有連接中的30%分配給該服務(wù)器,默認(rèn)值為1;

max_fail/fail_time

某臺(tái)服務(wù)器允許請(qǐng)求失敗的次數(shù),超過(guò)最大數(shù)后,在fail_timeout時(shí)間內(nèi),新的請(qǐng)求不會(huì)分配給這臺(tái)機(jī)器,如果設(shè)置為0,反向代理服務(wù)器則會(huì)將這臺(tái)服務(wù)器設(shè)置為永久無(wú)效狀態(tài)。fail_time默認(rèn)為10秒;

backup

將某臺(tái)服務(wù)器設(shè)定為備用機(jī),當(dāng)列表中的其他服務(wù)器都不可用時(shí),啟用備用機(jī)

down

將某臺(tái)服務(wù)器設(shè)定為不可用狀態(tài)

max_conns

限制分配給某臺(tái)服務(wù)器的最大連接數(shù),超過(guò)這個(gè)數(shù)量,反向代理服務(wù)器將不會(huì)分配新的連接,默認(rèn)為0,表示不限制;

http{

upstream server_group_name{//負(fù)載均衡

# ip_hash; # 啟用ip_hash策略

# last_conn; #啟用最少連接策略

server ip or domain:port

weight=2

max_fails=3

fail_timeout=15

max_conns=1000; # 使用weight設(shè)置權(quán)重為20%

server ip or domain:port backup;# 設(shè)置為備用機(jī),當(dāng)其他服務(wù)器全部宕機(jī)時(shí),啟用備用服務(wù)器?

?server ip or domain:port down;# 設(shè)置服務(wù)器為不可用狀態(tài)

}

server{//反向代理

listen 80;//監(jiān)聽(tīng)80端口

server_name: www.baidu.com? *.baidu.com//域名,多個(gè)域名以空格分割

location/

{proxy_pass http://server_group_name;} //代理的服務(wù)器地址

}

}


session失效問(wèn)題解決方案

location /path{

proxy_pass http://server_group_name;

} //代理的服務(wù)器地址

代理路徑后沒(méi)有/,代理地址會(huì)自動(dòng)拼接/path

引用:http://www.itdecent.cn/p/5026ab611d4e

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容