做五金批發(fā)的適合在哪些網(wǎng)站杭州seo薪資水平
一、理解nginx服務(wù)代理
Nginx代理有正向和反向代理兩種類型,可以基于osi七層模型中的第四層(傳輸層)和第七層(應(yīng)用層)進(jìn)行代理
注:
nginx 一般支持的是7層代理,支持四層代理一般使用 lvs 或者h(yuǎn)aproxy,但從nginx 從1.9.0 版本開始支持四層代理,但做四層代理時(shí)源碼編譯需要添加?--with-stream模塊,這里的–with-stream 是添加四層代理模塊
正向代理代理的對(duì)象是客戶端,反向代理的對(duì)象是服務(wù)端,在日常使用中,反向代理web服務(wù)器這種方式使用得比較多。
Nginx采用C語言進(jìn)行編寫,因它的穩(wěn)定性、豐富的功能集、簡單的配置文件和低系統(tǒng)資源的消耗而聞名,其特點(diǎn)是占有內(nèi)存少,并發(fā)能力強(qiáng)。
模塊化的結(jié)構(gòu)。包括 gzipping, byte ranges, chunked responses,以及 SSI-filter 等 filter。如果由 FastCG或其它代理服務(wù)器處理單頁中存在的多個(gè) SSI,
則這項(xiàng)處理可以并行運(yùn)行,而不需要相互等待。
支持 SSL?和 TLSSNI功能。
OSI七層模式:
TCP/IP四層模式:
二、Nginx七層代理和四層代理的區(qū)別
在nginx代理中7層代理是寫在http模塊中的,而4層代理是寫在stream模塊中,與http模塊并列,且做四層代理時(shí)源碼編譯需要添加?
--with-stream模塊進(jìn)行編譯
7層和4層代理基于的協(xié)議不同,根據(jù)OSI七層模型,
第七層是應(yīng)用層,7層代理主要是協(xié)議和內(nèi)容的交換,7層代理可以 基于url和ip以及cookie和請(qǐng)求頭 進(jìn)行分流第四層是傳輸層,4層代理是基于ip和端口的轉(zhuǎn)發(fā),是基于TCP/UDP協(xié)議,–with-stream 是添加四層代理模塊,可以用來創(chuàng)建其他業(yè)務(wù)集群,比如ssh,mysql
注:
主要支持的協(xié)議有http,htps,smtp,ftp,dns,pop3,dhcp等協(xié)議,通常是http代理
★ 針對(duì)web服務(wù),七層通過虛擬的 URL 或主機(jī)名接收請(qǐng)求,然后再分配到真實(shí)的服務(wù)器,七層就是基于 URL 等應(yīng)用層信息的負(fù)載均衡;
★ 針對(duì)web服務(wù),所謂四層負(fù)載均衡,也就是主要通過報(bào)文中的目標(biāo)地址和端口,再加上負(fù)載均衡 設(shè)備設(shè)置的服務(wù)器選擇方式,決定最終選擇的內(nèi)部服務(wù)器,
它一般走的是tcp,udp協(xié)議。
四層代理配置舉例:
stream {server {listen 3308;proxy_pass mysql-db;}upstream mysql-db {server 192.20.32.30;server 192.20.32.31;}?? ?
}
注:
四層代理設(shè)備將client發(fā)送報(bào)文中的目標(biāo)地址(原來為四層代理的ip地址)修改為目標(biāo)內(nèi)部服務(wù)器的地址,這樣client就可以和server建立TCP連接并發(fā)送數(shù)據(jù)
在stream中,server一定要配置port,proxy_pass配置行直接加集群名,**不能加http:// **
七層代理配置舉例:
http {upstream web {server 192.20.21.20;server 192.20.21.21;}server {listen 8081;location / {proxy_pass http//web;root html;index index.html index.htm;}}
}
三、關(guān)于正向/反向代理區(qū)別
正向代理是客戶端代理,用戶清楚的知道訪問的服務(wù)器是誰. 保護(hù)了客戶端信息
反向代理是服務(wù)器端代理.用戶不清楚訪問的真實(shí)服務(wù)到底是誰. 保護(hù)了服務(wù)端信息
四、總結(jié):
從nginx代理的配置來看,正向代理和反向代理的配置區(qū)別在于proxy_pass的配置
1.正向代理proxy_pass配置的是動(dòng)態(tài)url
2.反向代理proxy_pass配置的是靜態(tài)服務(wù)器
四層、七層代理與正向、反向代理的關(guān)系:
1、七層代理可以是正向代理也可以是反向代理,如上方例子中的正反向代理就是基于7層
2、四層代理都是反向代理
Nginx代理與負(fù)載均衡的關(guān)系
1、在nginx中用到了反向代理,不一定會(huì)用負(fù)載均衡
2、在nginx中用到了負(fù)載均衡,一定會(huì)用反向代理
?