<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          使用 Nginx 實(shí)現(xiàn)反向代理

          共 3488字,需瀏覽 7分鐘

           ·

          2021-06-18 07:31

          公眾號(hào)關(guān)注 “GitHub今日熱榜
          設(shè)為 “星標(biāo)”,帶你挖掘更多開發(fā)神器!






          一、代理服務(wù)器


          1、什么是代理服務(wù)器


          代理服務(wù)器,客戶機(jī)在發(fā)送請(qǐng)求時(shí),不會(huì)直接發(fā)送給目的主機(jī),而是先發(fā)送給代理服務(wù)器,代理服務(wù)接受客戶機(jī)請(qǐng)求之后,再向主機(jī)發(fā)出,并接收目的主機(jī)返回的數(shù)據(jù),存放在代理服務(wù)器的硬盤中,再發(fā)送給客戶機(jī)。



          2、為什么要使用代理服務(wù)器


          1)提高訪問(wèn)速度


          由于目標(biāo)主機(jī)返回的數(shù)據(jù)會(huì)存放在代理服務(wù)器的硬盤中,因此下一次客戶再訪問(wèn)相同的站點(diǎn)數(shù)據(jù)時(shí),會(huì)直接從代理服務(wù)器的硬盤中讀取,起到了緩存的作用,尤其對(duì)于熱門站點(diǎn)能明顯提高請(qǐng)求速度。


          2)防火墻作用


          由于所有的客戶機(jī)請(qǐng)求都必須通過(guò)代理服務(wù)器訪問(wèn)遠(yuǎn)程站點(diǎn),因此可在代理服務(wù)器上設(shè)限,過(guò)濾某些不安全信息。


          3)通過(guò)代理服務(wù)器訪問(wèn)不能訪問(wèn)的目標(biāo)站點(diǎn)


          互聯(lián)網(wǎng)上有許多開發(fā)的代理服務(wù)器,客戶機(jī)在訪問(wèn)受限時(shí),可通過(guò)不受限的代理服務(wù)器訪問(wèn)目標(biāo)站點(diǎn),通俗說(shuō),我們使用的翻墻瀏覽器就是利用了代理服務(wù)器,雖然不能出國(guó),但也可直接訪問(wèn)外網(wǎng)。


          二、反向代理 VS 正向代理


          1、什么是正向代理?什么是反向代理?


          正向代理,架設(shè)在客戶機(jī)與目標(biāo)主機(jī)之間,只用于代理內(nèi)部網(wǎng)絡(luò)對(duì)Internet的連接請(qǐng)求,客戶機(jī)必須指定代理服務(wù)器,并將本來(lái)要直接發(fā)送到Web服務(wù)器上的http請(qǐng)求發(fā)送到代理服務(wù)器中。




          反向代理服務(wù)器架設(shè)在服務(wù)器端,通過(guò)緩沖經(jīng)常被請(qǐng)求的頁(yè)面來(lái)緩解服務(wù)器的工作量,將客戶機(jī)請(qǐng)求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的目標(biāo)服務(wù)器;并將從服務(wù)器上得到的結(jié)果返回給Internet上請(qǐng)求連接的客戶端,此時(shí)代理服務(wù)器與目標(biāo)主機(jī)一起對(duì)外表現(xiàn)為一個(gè)服務(wù)器。



          2、反向代理有哪些主要應(yīng)用?


          現(xiàn)在許多大型web網(wǎng)站都用到反向代理。除了可以防止外網(wǎng)對(duì)內(nèi)網(wǎng)服務(wù)器的惡性攻擊、緩存以減少服務(wù)器的壓力和訪問(wèn)安全控制之外,還可以進(jìn)行負(fù)載均衡,將用戶請(qǐng)求分配給多個(gè)服務(wù)器。


          三、反向代理服務(wù)器Nginx


          Nginx作為近年來(lái)較火的反向代理服務(wù)器,安裝在目的主機(jī)端,主要用于轉(zhuǎn)發(fā)客戶機(jī)請(qǐng)求,后臺(tái)有多個(gè)http服務(wù)器提供服務(wù),nginx的功能就是把請(qǐng)求轉(zhuǎn)發(fā)給后面的服務(wù)器,決定哪臺(tái)目標(biāo)主機(jī)來(lái)處理當(dāng)前請(qǐng)求。下面演示如何進(jìn)行配置使Nginx發(fā)揮作用。


          1、模擬n個(gè)http服務(wù)器作為目標(biāo)主機(jī)


          用作測(cè)試,簡(jiǎn)單的使用2個(gè)tomcat實(shí)例模擬兩臺(tái)http服務(wù)器,分別將tomcat的端口改為8081和8082


          2、配置IP域名


          192.168.72.49 8081.max.com


          192.168.72.49 8082.max.com


          3、配置nginx.conf


          upstream tomcatserver1 {
            server 192.168.72.49:8081;
              }
          upstream tomcatserver2 {
            server 192.168.72.49:8082;
              }
          server {
                  listen       80;
                  server_name  8081.max.com;
           
                  #charset koi8-r;
           
                  #access_log logs/host.access.log main;
           
                  location / {
                      proxy_pass   http://tomcatserver1;
                      index  index.html index.htm;
                  }
              }
          server {
                  listen       80;
                  server_name  8082.max.com;
           
                  #charset koi8-r;
           
                  #access_log logs/host.access.log main;
           
                  location / {
                      proxy_pass   http://tomcatserver2;
                      index  index.html index.htm;
                  }
              }


          流程:


          1)瀏覽器訪問(wèn)8081.max.com,通過(guò)本地host文件域名解析,找到192.168.72.49服務(wù)器(安裝nginx)


          2)nginx反向代理接受客戶機(jī)請(qǐng)求,找到server_name為8081.max.com的server節(jié)點(diǎn),根據(jù)proxy_pass對(duì)應(yīng)的http路徑,將請(qǐng)求轉(zhuǎn)發(fā)到upstream tomcatserver1上,即端口號(hào)為8081的tomcat服務(wù)器。


          4、效果展示


          請(qǐng)求8081.max.com,tomcat1接收返回首頁(yè)



          請(qǐng)求8082.max.com,tomcat2接收返回首頁(yè)



          四、總結(jié)


          通過(guò)分析我們不難得出,以百度為例,如果客戶機(jī)的IP和百度服務(wù)器(目標(biāo)主機(jī))的IP在同一個(gè)網(wǎng)段,那就形同局域網(wǎng)內(nèi)部發(fā)送請(qǐng)求,速度極快。


          但如果滿足不了這種需求還想到達(dá)到一個(gè)較好的請(qǐng)求響應(yīng)時(shí),百度服務(wù)器就可以對(duì)外提供一個(gè)與目標(biāo)服務(wù)器在一個(gè)網(wǎng)段的公網(wǎng)IP,也就是反向代理服務(wù)的IP,通過(guò)代理服務(wù)器轉(zhuǎn)發(fā)客戶機(jī)請(qǐng)求,決定幕后的N臺(tái)服務(wù)器誰(shuí)來(lái)處理這個(gè)請(qǐng)求,并且由于反向代理服務(wù)器與目標(biāo)主機(jī)在一個(gè)網(wǎng)段,訪問(wèn)速度也會(huì)很快。


          Nginx用作反向代理服務(wù)器時(shí),它就是眾多反向代理服務(wù)器中的一種,通過(guò)簡(jiǎn)單的配置,指定到服務(wù)器IP或域名地址便可將客戶機(jī)請(qǐng)求轉(zhuǎn)發(fā)給指定服務(wù)器處理請(qǐng)求。




          作者:鐘艾伶

          出處:blog.csdn.net/daybreak1209/article/details/51549031









          關(guān)注GitHub今日熱榜,專注挖掘好用的開發(fā)工具,致力于分享優(yōu)質(zhì)高效的工具、資源、插件等,助力開發(fā)者成長(zhǎng)!







          點(diǎn)個(gè)在看,你最好看


          瀏覽 46
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  一起操逼| 超碰骚逼| 男插女视频网站 | 极品美女操逼性 | 日韩蜜桃视频 |