反向代理/負載均衡/session/coo他秒kie
時 間:2017-08-12  通這   浏覽:9229

正向代理:客戶端将流量重定向到burpsuite等軟拿著件或連接到VPN再訪問服務器而不是直接訪就國問服務器的場景。流量流動方向是真正機器--代理服務器。正向草器代理又(yòu)稱代理、普通代理。

反向代理:服務器端使用反向代理服務器統一(yī)接收客戶端訪問,然後再按花市即定規則将數據包重定向到真正的服務器的場景。流量相你流動方向是代理服務器--真正機器,與正向代理正好相反所以稱反向代理(其實我(w理房ǒ)(wǒ)覺得這此名詞應是先有代理再有反向代理再有正向代理)。

相互關系:除了名詞相反外(wài),由于代理是客戶端行為反向代理是服務端行為很數所以可以随意使用,在技術上兩不相幹。

 

假設客戶端代理訪問了有反向代理的服務器:

C--客戶端;PC--客戶端代理服務器;PS--服務端代理家還服務器;S--服務器

發出數據包機器(方向從左向右)CPCPS
所發出數據包中(zhōng)的源IP和端口CPCPS
所發出數據包中(zhōng)的目的IP和端口PCPSS
發出數據包機器(方向從左向右)SPSPC
發出數據包的源IP和端口SPSPC
發出數據包的目的IP和端口PSPCC

 

 

 

這個例子要再次聲明這樣的原則:對于網絡中(zhō器電ng)的一(yī)跳,其從上一(yī)跳接收的數據飛小包中(zhōng)的目的地址一(yī)定是它師跳,其發往下(xià)一(yī)跳的數據包中(zhōng)的源地空離址一(yī)定是它;這不會因為包括其本身用途在内的任何原因而改變。

所以以PS為例,其收到的數據包目的地址一來跳(yī)定是PS然後再由其重新封裝數據包将目的地址改為S,而不可能PS收到雜低的數據包的目的地址直接是S;即便它隻是純粹向S美制轉發數據包的代理服務器。

PS要和外(wài)網交流又(yòu)要和内網交看裡流,所以其需要一(yī)張外(wài)網網卡和一(yī)張内網網卡。數嗎

 

負載均衡:以一(yī)設備統一(yī)接服著收客戶端請求再按即定規則從多台相同服務器從選出習草一(yī)台将數據包重定向到這台服務器上的場景。

負載均衡可以理解為反向代理的子集,其在反向代理中(zhōng)加入長短了“多台相同服務器”的限定;當然你要說“不同服務器”(如錢門一(yī)台JSP服務器和一(yī)台PHP服務器使用NGINX做反向代答土理)的反理也可以叫負載均衡那我(wǒ)(wǒ)也覺坐什沒什麼問題。

 

軟負載和硬負載:

軟負載:就是通過軟件來實現負載均衡功能;N熱舊ginx和httpd等http服務器都能實現軟文看負載功能。

硬負載:又(yòu)叫硬件負載,就是把實現負載均那哥衡功能的軟件搬到一(yī)台專門的計算機上;比如F5等設備。

軟負載與硬負載的區别和軟件防火(huǒ)牆與硬件門分防火(huǒ)牆的區别是一(yī)樣的。

 

負載均衡與會話(huà)同步:

在負載均衡中(zhōng)可以将來自同一(yī)個IP的訪問通過地相IP_HASH等方式全定向到一(yī)台中哥機器上。這樣一(yī)來所有會話(huà)們視(session)就全在一(yī)台機器上,就不必使是他用會話(huà)同步了。

但IP_HASH的問題是如果某台服務器故障而請求一(yī)樣被發送過去(qù)數呢,那麼這些訪問請求被發送到故障機的IP将紅舊無法得到服務,我(wǒ)(wǒ)的服務器分(fēn)明還有多台照話正常而我(wǒ)(wǒ)的用戶卻隻因一(yī)台故障即不能訪問,這并不坐房能最大(dà)化多台服務器的效益。

會話(huà)中(zhōng)保存着用戶的登錄狀态,而如果請求是快跳按即定算法被分(fēn)配到不确定的服務器上那麼就得又好保證會話(huà)同步,以确保在S1上登錄過的用戶其請求被重定向謝黑到S2時其狀态也是登錄的(而不是又(yòu)讓用戶再身暗次登錄這樣的網站沒人願意用)。

會話(huà)同步實現的思路是無論哪台服務器的session都存嗎近放(fàng)到一(yī)台服務器上,請求無論被分(fēn)配到S1還是S2聽司都是到那台服務器上取session。

而在session服務器的存儲又(yòu)有兩種方案,一(yī)是使用短拿oracle等傳統數據庫存儲,二是使 用memcache等内存數據庫南月存儲;後者方案是更加推薦的。

 

session比cookie更安全嗎(ma)?

所謂的cookie不安全主要是指用戶名/密碼/登錄狀态等會話(huà)信息全員校部存在了cookie中(zhōng),一(yī機新)是cookie被盜那麼信息洩漏得多,二是如果以登錄狀态值習紙标識用戶登錄狀态從而決定是否有操作權限那麼完全可藍計能是僞造cookie實現越權。

session一(yī)般是生(shēng)成一坐又(yī)個sessionID存放(fàn技子g)到cookie中(zhōng),如果熱服cookie被盜那麼攻擊者一(yī)樣是可以使用該sessi火得onID登錄的,隻是說沒洩漏用戶名等信息僞造sessionID購有也不能僞造其登錄狀态(這兩點安全性就提高好多了)。

 

禁用cookie後session就不能用東媽了嗎(ma)?

session的根本原理是以一(yī)個sessionID标識用戶,客物謝戶端無論從哪把sessionID傳到服務器都是可以的不一(yī)定要通事票過cookie,這是嚴謹但不負責任的回答去懂。

在一(yī)般的session實現中(zhōng)我(wǒ)(wǒ)問外們生(shēng)成sessionID并将其put到cookie那金中(zhōng),由于是cookie是自動提交的所以,我日弟(wǒ)(wǒ)們在設計客戶端請求時完全不書也用考慮sessionID的上傳。

如果我(wǒ)(wǒ)們不将sessionID放(fàng)他議到cookie,那麼再沒第二個和cookie這樣自動下(商計xià)傳又(yòu)自動上傳的字段,這意味着如現和果不通過cookie那麼在服務端下(xià)雨器傳後在客戶端請求時需要手動将sessionID附到某個字段中(zhōn村我g)。

輕則要附到URL中(zhōng)作為參數,重則要js将sess白愛ionID附到http頭的其他字段中(zhōng)或post的body中(z女報hōng);一(yī)兩個頁面還沒什麼,要是全站使用和考濾網站擴鐵煙展性,這工(gōng)作量并不是可以輕描淡寫。

所心結論是禁用cookie後session還是有方法可以實現的,但這比較麻少空煩。 

 

 

上一(yī)篇:物(wù)聯網、大(dà)數據、雲計算的區别與聯系     &nb男習sp;  下(xià姐河)一(yī)篇:MySQL數據庫備份與恢複
版權所有:安慶一品紅網絡科技有限醫美公司
copyrignt 2015-2020 www.aqhuixin.我公com   皖ICP備14010304号-1
皖公網安備 34081102000177号