<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    szhswl
    宋針還的個(gè)人空間
    代理服務(wù)器是使用非常普遍的一種將局域網(wǎng)主機(jī)聯(lián)入互聯(lián)網(wǎng)的一種方式,使用代理上網(wǎng)可以節(jié)約緊缺的IP地址資源,而且可以阻斷外部主機(jī)對(duì)內(nèi)部主機(jī)的訪問,使內(nèi)部網(wǎng)主機(jī)免受外部網(wǎng)主機(jī)的攻擊。但是,如果想讓互聯(lián)網(wǎng)上的主機(jī)訪問內(nèi)部網(wǎng)的主機(jī)資源(例如:Web站點(diǎn)),又想使內(nèi)部網(wǎng)主機(jī)免受外部網(wǎng)主機(jī)攻擊,一般的代理服務(wù)是不能實(shí)現(xiàn)的,需要使用反向代理來實(shí)現(xiàn)。

      本文將詳細(xì)介紹反向代理服務(wù)的概念以及如何利用反向代理服務(wù)器提高WEB服務(wù)器的性能和安全性。

      一.反向代理的概念

      什么是反向代理呢?其實(shí),反向代理也就是通常所說的WEB服務(wù)器加速,它是一種通過在繁忙的WEB服務(wù)器和Internet之間增加一個(gè)高速的WEB緩沖服務(wù)器(即:WEB反向代理服務(wù)器)來降低實(shí)際的WEB服務(wù)器的負(fù)載。典型的結(jié)構(gòu)如下圖所示:

      Web服務(wù)器加速(反向代理)是針對(duì)Web服務(wù)器提供加速功能的。它作為代理Cache,但并不針對(duì)瀏覽器用戶,而針對(duì)一臺(tái)或多臺(tái)特定Web服務(wù)器(這也是反向代理名稱的由來)。實(shí)施反向代理(如上圖所示),只要將Reverse Proxy Cache設(shè)備放置在一臺(tái)或多臺(tái)Web服務(wù)器前端即可。當(dāng)互聯(lián)網(wǎng)用戶訪問某個(gè)WEB服務(wù)器時(shí),通過DNS服務(wù)器解析后的IP地址是Reverse Proxy Server的IP地址,而非原始Web服務(wù)器的IP地址,這時(shí)Reverse Proxy Server設(shè)備充當(dāng)Web服務(wù)器,瀏覽器可以與它連接,無需再直接與Web服務(wù)器相連。因此,大量Web服務(wù)工作量被卸載到反向代理服務(wù)上。不但能夠防止外部網(wǎng)主機(jī)直接和web服務(wù)器直接通信帶來的安全隱患,而且能夠很大程度上減輕web服務(wù)器的負(fù)擔(dān),提高訪問速度。

      二.    反向代理和其它代理的比較

      下面將對(duì)幾種典型的代理服務(wù)作一個(gè)簡單的比較。在網(wǎng)絡(luò)上常見的代理服務(wù)器有三種:

      1. 標(biāo)準(zhǔn)的代理緩沖服務(wù)器

      一個(gè)標(biāo)準(zhǔn)的代理緩沖服務(wù)被用于緩存靜態(tài)的網(wǎng)頁(例如:html文件和圖片文件等)到本地網(wǎng)絡(luò)上的一臺(tái)主機(jī)上(即代理服務(wù)器)。當(dāng)被緩存的頁面被第二次訪問的時(shí)候,瀏覽器將直接從本地代理服務(wù)器那里獲取請(qǐng)求數(shù)據(jù)而不再向原web站點(diǎn)請(qǐng)求數(shù)據(jù)。這樣就節(jié)省了寶貴的網(wǎng)絡(luò)帶寬,而且提高了訪問速度。但是,要想實(shí)現(xiàn)這種方式,必須在每一個(gè)內(nèi)部主機(jī)的瀏覽器上明確指明代理服務(wù)器的IP地址和端口號(hào)??蛻舳松暇W(wǎng)時(shí),每次都把請(qǐng)求送給代理服務(wù)器處理,代理服務(wù)器根據(jù)請(qǐng)求確定是否連接到遠(yuǎn)程web服務(wù)器獲取數(shù)據(jù)。如果在本地緩沖區(qū)有目標(biāo)文件,則直接將文件傳給用戶即可。如果沒有的話則先取回文件,先在本地保存一份緩沖,然后將文件發(fā)給客戶端瀏覽器。

      2. 透明代理緩沖服務(wù)器

      透明代理緩沖服務(wù)和標(biāo)準(zhǔn)代理服務(wù)器的功能完全相同。但是,代理操作對(duì)客戶端的瀏覽器是透明的(即不需指明代理服務(wù)器的IP和端口)。透明代理服務(wù)器阻斷網(wǎng)絡(luò)通信,并且過濾出訪問外部的HTTP(80端口)流量。如果客戶端的請(qǐng)求在本地有緩沖則將緩沖的數(shù)據(jù)直接發(fā)給用戶,如果在本地沒有緩沖則向遠(yuǎn)程web服務(wù)器發(fā)出請(qǐng)求,其余操作和標(biāo)準(zhǔn)的代理服務(wù)器完全相同。對(duì)于Linux操作系統(tǒng)來說,透明代理使用Iptables或者Ipchains實(shí)現(xiàn)。因?yàn)椴恍枰獙?duì)瀏覽器作任何設(shè)置,所以,透明代理對(duì)于ISP(Internet服務(wù)器提供商)特別有用。

      3. 反向代理緩沖服務(wù)器

      反向代理是和前兩種代理完全不同的一種代理服務(wù)。使用它可以降低原始WEB服務(wù)器的負(fù)載。反向代理服務(wù)器承擔(dān)了對(duì)原始WEB服務(wù)器的靜態(tài)頁面的請(qǐng)求,防止原始服務(wù)器過載。它位于本地WEB服務(wù)器和Internet之間,處理所有對(duì)WEB服務(wù)器的請(qǐng)求,組織了WEB服務(wù)器和Internet的直接通信。如果互聯(lián)網(wǎng)用戶請(qǐng)求的頁面在代理服務(wù)器上有緩沖的話,代理服務(wù)器直接將緩沖內(nèi)容發(fā)送給用戶。如果沒有緩沖則先向WEB服務(wù)器發(fā)出請(qǐng)求,取回?cái)?shù)據(jù),本地緩存后再發(fā)送給用戶。這種方式通過降低了向WEB服務(wù)器的請(qǐng)求數(shù)從而降低了WEB服務(wù)器的負(fù)載。

      三.反向代理工作原理

      反向代理服務(wù)器位于本地WEB服務(wù)器和Internet之間,如下圖所示:

      當(dāng)用戶瀏覽器發(fā)出一個(gè)HTTP請(qǐng)求時(shí),通過域名解析將請(qǐng)求定向到反向代理服務(wù)器(如果要實(shí)現(xiàn)多個(gè)WEB服務(wù)器的反向代理,需要將多個(gè)WEB服務(wù)器的域名都指向反向代理服務(wù)器)。由反向代理服務(wù)器處理器請(qǐng)求。反向代理一般只緩存可緩沖的數(shù)據(jù)(比如html網(wǎng)頁和圖片等),而一些CGI腳本程序或者ASP之類的程序不緩存。它根據(jù)從WEB服務(wù)器返回的HTTP頭標(biāo)記來緩沖靜態(tài)頁面。有四個(gè)最重要HTTP頭標(biāo)記:

      Last-Modified: 告訴反向代理頁面什么時(shí)間被修改

      Expires: 告訴反向代理頁面什么時(shí)間應(yīng)該從緩沖區(qū)中刪除

      Cache-Control: 告訴反向代理頁面是否應(yīng)該被緩沖

      Pragma: 告訴反向代理頁面是否應(yīng)該被緩沖.

      例如:在默認(rèn)情況下,ASP頁面返回” Cache-control: private.” ,所以ASP頁面時(shí)不會(huì)在反向代理服務(wù)器緩存的

      四.代理服務(wù)器軟件squid簡介

      Squid Internet Object Cache (Harvest Project的后續(xù)版本) 是美國政府大力助的一項(xiàng)研究計(jì)劃,其目的為解決網(wǎng)絡(luò)帶寬不足的問題,是現(xiàn)在Unix系統(tǒng)上使用者最多功能也最完整的一套軟體。Apache和Netscape雖附有相關(guān)的Proxy模塊,但因其功能簡單而不夠普及。有關(guān)squid的詳細(xì)說明可到squid網(wǎng)站(http://www.squid-cache.org)查詢。

      httpd_accel_with_proxy on

      如果希望squid既作反向代理服務(wù)器又作本地機(jī)器的上網(wǎng)代理,需要將httpd_accel_with_proxy 改為 on,默認(rèn)情況下是off

      httpd_accel_uses_host_header off

      在HTTP協(xié)議1.1中,HTTP請(qǐng)求包括一個(gè)主機(jī)頭信息,指定URL的主機(jī)名或者主機(jī)的IP地址。這個(gè)選項(xiàng)可以用來完成多個(gè)后臺(tái)WEB服務(wù)器的反向代理功能。

      2.Squid反向代理多個(gè)后臺(tái)WEB服務(wù)器

      我們可以用Squid反向代理多個(gè)后臺(tái)WEB服務(wù)器。例如:我們可以配置squid同時(shí)反向代理www.abc.com, www.xyz.com, www.lmn.com三個(gè)后臺(tái)WEB服務(wù)器,示意圖如下:

      Squid的配置如下:

    httpd_accel_host virtual
    httpd_accel_port 80
    httpd_accel_single_host off
    httpd_accel_uses_host_header on
    (注意:編譯Squid時(shí)需激活I(lǐng)nternal DNS選項(xiàng))

      然后設(shè)置設(shè)置反響代理需要的域名解析(Internet用戶通過這里解析三個(gè)網(wǎng)站的域名)如下:

    www.abc.com 202.102.240.74
    www.xyz.com 202.102.240.74
    www.lmn.com 202.102.240.74

      使三個(gè)域名都指向反向代理服務(wù)器的IP地址202.102.240.74。

      下面設(shè)置反向代理所需要的DNS入口信息(即設(shè)置內(nèi)部DNS,僅僅是squid在內(nèi)部使用,Internet用戶不可見)。有兩種方法可以設(shè)置內(nèi)部DNS,使用內(nèi)部DNS服務(wù)器來解析或者使用/etc/hosts文件來實(shí)現(xiàn)。

      使用內(nèi)部DNS服務(wù)器的資源記錄如下:

    www.abc.com IN A 172.16.1.2
    www.xyz.com IN A 172.16.1.3
    www.lmn.com IN A 172.16.1.4

     

      如果使用/etc/hosts文件來實(shí)現(xiàn)內(nèi)部DNS(編譯時(shí)應(yīng)使用disable internal dns選項(xiàng)),編輯/etc/hosts文件添加如下條目:

    172.16.1.2 www.abc.com
    172.16.1.3 www.xyz.com
    172.16.1.4 www.lmn.com

     

      結(jié)論

      通過本文中的論述和相關(guān)實(shí)例,可以看出,反向代理方式不單是一種WEB服務(wù)器加速器,而且使也一種對(duì)外提供Web發(fā)布時(shí)使用的有效的防火墻技術(shù),使用它不但能節(jié)約緊缺的IP地址資源,加速WEB服務(wù)器的訪問速度,而且能夠保護(hù)WEB主機(jī),因此能夠適應(yīng)多種應(yīng)用場合。

     

      Squid最典型的應(yīng)用是代理局域網(wǎng)的機(jī)器聯(lián)入互聯(lián)網(wǎng),它支持現(xiàn)在流行的網(wǎng)絡(luò)協(xié)議。Squid的另一項(xiàng)非常出色的功能就是實(shí)現(xiàn)反向代理功能。

      五.使用Squid配置反向代理(HTTP 加速器)

      通過squid配置反向代理主要就是配置“squid.conf”這個(gè)配置文件。下面以Linux操作系統(tǒng)為例進(jìn)行介紹,其它版本的在UNIX也同樣適用。在Linux中squid如果是以源代碼方式安裝的話,這個(gè)文件一般在“/usr/local/squid/etc/”目錄下。如果是系統(tǒng)自帶的squid,一般配置文件在“/etc/squid/”目錄下。

      1. Squid反向代理單個(gè)后臺(tái)WEB服務(wù)器

      如果WEB服務(wù)器和反向代理服務(wù)器是兩臺(tái)單獨(dú)的機(jī)器(一般的反向代理應(yīng)該有兩塊網(wǎng)卡分別連接了內(nèi)外部網(wǎng)絡(luò))。那么,應(yīng)該修改下面的內(nèi)容來設(shè)置反向代理服務(wù)。

    http_port 80 # squid監(jiān)聽的端口
    httpd_accel_host 172.16.250.250 # 內(nèi)部WEB服務(wù)器的IP地址
    httpd_accel_port 80 # WEB服務(wù)器的IP地址
    httpd_accel_single_host on # 轉(zhuǎn)發(fā)為緩沖的請(qǐng)求到一臺(tái)單獨(dú)的機(jī)器
    httpd_accel_with_proxy on #
    httpd_accel_uses_host_header off
      如果WEB服務(wù)器和反向代理服務(wù)器是同一臺(tái)機(jī)器。
    那么,應(yīng)該設(shè)置WEB服務(wù)器的監(jiān)聽端口為非80端口(比如:81端口)。要修改的內(nèi)容如下:
    http_port 80 # squid監(jiān)聽的端口
    httpd_accel_host localhost # 內(nèi)部WEB服務(wù)器的IP地址
    httpd_accel_port 81 # WEB服務(wù)器的IP地址
    httpd_accel_single_host on # 轉(zhuǎn)發(fā)為緩沖的請(qǐng)求到一臺(tái)單獨(dú)的機(jī)器
    httpd_accel_with_proxy on #
    httpd_accel_uses_host_header off

      下面解釋一下配置指令。

      http_port 80

      選項(xiàng) http_port 指定squid監(jiān)聽HTTP請(qǐng)求的端口,一般都設(shè)置成80端口,這樣使用戶感覺不到反向代理的存在,就像訪問真正的WEB服務(wù)器一樣。

      httpd_accel_host 172.16.250.250 和 httpd_accel_port 80

      選項(xiàng)httpd_accel_host 和 httpd_accel_port 指定WEB服務(wù)器的IP地址和端口號(hào),可以根據(jù)自己的WEB服務(wù)器的實(shí)際情況而定。

      httpd_accel_single_host on

      選項(xiàng)httpd_accel_single_host 為on 時(shí),squid被設(shè)置成僅對(duì)單一的web服務(wù)器作反向代理。不考慮HTTP頭信息,Squid轉(zhuǎn)發(fā)所有的未被緩沖的頁面請(qǐng)求到這個(gè)web服務(wù)器。如果squid需要做多個(gè)web服務(wù)器反向代理,必須將此選項(xiàng)設(shè)置為off,并且使用轉(zhuǎn)向器或者DNS去映射請(qǐng)求到合適的后臺(tái)WEB服務(wù)器。

     

    ---------------------------------------------------------------------------------------------------------------------------------
    說人之短,乃護(hù)己之短。夸己之長,乃忌人之長。皆由存心不厚,識(shí)量太狹耳。能去此弊,可以進(jìn)德,可以遠(yuǎn)怨。
    http://www.tkk7.com/szhswl
    ------------------------------------------------------------------------------------------------------ ----------------- ---------
    posted on 2008-01-23 19:33 宋針還 閱讀(354) 評(píng)論(0)  編輯  收藏 所屬分類: 反向代理
    主站蜘蛛池模板: 色偷偷噜噜噜亚洲男人| 亚洲电影一区二区三区| 亚洲人成色4444在线观看| 免费观看激色视频网站bd| 2022年亚洲午夜一区二区福利 | 亚洲情XO亚洲色XO无码| 久久国产一片免费观看| 亚洲自偷自偷图片| 国产婷婷成人久久Av免费高清| 亚洲熟妇无码乱子AV电影| 18禁超污无遮挡无码免费网站| 亚洲欧洲日韩不卡| 国产精品成人观看视频免费| 学生妹亚洲一区二区| 四虎影院永久免费观看| 久久免费国产精品| 99亚洲精品高清一二区| 久久久久久国产精品免费免费 | 亚洲视频免费在线播放| 亚洲av无码不卡久久| 国产在线19禁免费观看国产| a级毛片免费观看网站| 蜜芽亚洲av无码精品色午夜| 在线观看的免费网站| 国产成人亚洲综合无| 亚洲乱码日产一区三区| 国产精品永久免费10000| 国产精品亚洲va在线观看| 亚洲日韩欧洲乱码AV夜夜摸| 精品成在人线AV无码免费看 | 国产亚洲美女精品久久久久| 中文字幕精品亚洲无线码二区 | 久久久久久夜精品精品免费啦| 亚洲婷婷在线视频| 免费a级黄色毛片| 中文字幕无码日韩专区免费| 中文字幕无码精品亚洲资源网久久| 亚洲国产电影av在线网址| 99re免费在线视频| 一级中文字幕乱码免费| 亚洲AV一二三区成人影片|