欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

nginx作反向代理url重寫

傅智翔2年前25瀏覽0評論

nginx作反向代理url重寫?

Nginx作為一款專業(yè)的反向代理服務(wù)器,由于其性能突出,現(xiàn)在一般中大型網(wǎng)站架構(gòu)模式中,都會將它作為前置的反向代理服務(wù)器。但在部署反向代理之后,有個(gè)問題就來了,那就是如何實(shí)現(xiàn)會話保持?

什么是會話保持?

我們知道,HTTP協(xié)議本身是無狀態(tài)的。什么意思呢?就是用戶向?yàn)g覽器發(fā)出請求后,服務(wù)器默認(rèn)是無法直接識別用戶的,無法將用戶進(jìn)行區(qū)分,這就會存在很多問題,于是就有了會話機(jī)制。

具體如何實(shí)現(xiàn)會話的呢?主要有兩種會話:Cookie會話、Session會話。Session會話是保存在服務(wù)器端的,然后將SessionID存入Cookie中,用戶下次請求服務(wù)器時(shí),服務(wù)器能夠識別Cookie中的SessionID然后找到對應(yīng)的Session,這樣服務(wù)器就能識別用戶了。

反向代理為什么會導(dǎo)致會話丟失?

上面說到了,Session是存儲在服務(wù)器端的,當(dāng)使用了反向代理后,同一用戶的多次請求不能保證都落在同一臺后端服務(wù)器上,這樣用戶瀏覽器中的Cookie即使傳遞到后端服務(wù)器,服務(wù)器也未必能找到對應(yīng)的Session,于是,會話丟失了!

使用了反向代理后如何保持會話?

其實(shí)會話保持有很多種解決方案,下面結(jié)合我的實(shí)際經(jīng)驗(yàn)總結(jié)一下供大家參考:

1、Nginx會話保持機(jī)制

Nginx自帶有會話保持機(jī)制,常見的有:

ip_hash:使用源地址哈希算法,這樣同一客戶端的請求都會到達(dá)同一個(gè)后端服務(wù)器;

sticky_cookie_insert:此算法基于Cookie來實(shí)現(xiàn)的,此模塊需要編譯安裝。

2、會話共享機(jī)制

如果我們讓多個(gè)后端節(jié)點(diǎn)服務(wù)器的Session保持一致,不就可以解決落地服務(wù)器的會話保持了么?說得通俗點(diǎn),我們把Session集中管理,然后各個(gè)節(jié)點(diǎn)服務(wù)器從這里取Session,就能保持會話了。

實(shí)現(xiàn)方案很多,比如說:

Session入庫;

Session存入NoSQL(Memcache、Redis)中。

以上就是我的觀點(diǎn),對于這個(gè)問題大家是怎么看待的呢?歡迎在下方評論區(qū)交流 ~ 我是科技領(lǐng)域創(chuàng)作者,十年互聯(lián)網(wǎng)從業(yè)經(jīng)驗(yàn),歡迎關(guān)注我了解更多科技知識!