亚洲综合社区欧美综合色-欧美逼逼一区二区三区-国产老熟女高潮精品网站-国产日韩最新视频在线看

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊(cè)有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補(bǔ)償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

什么是反向代理?

發(fā)布時(shí)間:  2012/5/15 18:27:26

通常的代理服務(wù)器,只用于代理內(nèi)部網(wǎng)絡(luò)對(duì) Internet 的連接請(qǐng)求,客戶機(jī)必須指定代理服務(wù)器,并將本來要直接發(fā)送到 Web 服務(wù)器上的 http 請(qǐng)求發(fā)送到代理服務(wù)器中。由于外部網(wǎng)絡(luò)上的主機(jī)并不會(huì)配置并使用這個(gè)代理服務(wù)器,普通代理服務(wù)器也被設(shè)計(jì)為在 Internet 上搜尋多個(gè)不確定的服務(wù)器,而不是針對(duì) Internet 上多個(gè)客戶機(jī)的請(qǐng)求訪問某一個(gè)固定的服務(wù)器,因此普通的 Web 代理服務(wù)器不支持外部對(duì)內(nèi)部網(wǎng)絡(luò)的訪問請(qǐng)求。當(dāng)一個(gè)代理服務(wù)器能夠代理外部網(wǎng)絡(luò)上的主機(jī),訪問內(nèi)部網(wǎng)絡(luò)時(shí),這種代理服務(wù)的方式稱為反向代理服務(wù)(也稱為逆向代理)。

通過反向代理服務(wù)器,可以記錄用戶所有的訪問行為,但這也會(huì)帶來系統(tǒng)資源相當(dāng)大的額外開銷。但對(duì)于不同的服務(wù)器來說,其保護(hù)的資源類型是有限的,我們只需要記錄、控制用戶對(duì)我們所關(guān)心的資源的訪問即可。比如對(duì)一個(gè) mp3 服務(wù)提供商來說,只需要控制用戶對(duì) .mp3 文件的請(qǐng)求次數(shù)即可。

從用戶訪問的角度來分,非法訪問主要有以下兩個(gè)方面:瞬間惡意多次請(qǐng)求和長時(shí)間持續(xù)攻擊。針對(duì)這兩種情況我們制定了以下控制策略:

1) 對(duì)抗瞬間惡意攻擊

這種情況是惡意的網(wǎng)上用戶使用多線程訪問同一資源,或者是在短時(shí)間內(nèi)訪問多個(gè)資源。對(duì)于第一種情況,可以定義一個(gè)參數(shù) m ,即同一用戶同時(shí)訪問的線程數(shù)量,若超過這個(gè)數(shù)量,則將他的請(qǐng)求暫緩發(fā)出或者廢除他的請(qǐng)求。為了對(duì)付第二種情況,訪問控制系統(tǒng)應(yīng)定義兩個(gè)參數(shù),一個(gè)是時(shí)間 t ,以秒為單位。第二個(gè)是資源個(gè)數(shù) g 。用這兩個(gè)參數(shù)確定一個(gè)規(guī)則 r ,即 r=F(g, t) 。 r 的含義就是最多允許網(wǎng)上用戶在 t 秒內(nèi)訪問 g 個(gè)資源。同時(shí),規(guī)則 r 可以有多條,這樣為精確控制帶來方便。

2) 對(duì)抗長時(shí)間持續(xù)攻擊

用上面提到的規(guī)則 r=F(g, t) 也可以對(duì)抗長時(shí)間持續(xù)下載。這里再定義一種規(guī)則 k=F(t1,t2) 。 t1 、 t2 都是時(shí)間長度,以秒為單位。 t1 是最長持續(xù)時(shí)間。 t2 是判斷用戶是否連續(xù)訪問的間隔時(shí)間。例如可以規(guī)定網(wǎng)上用戶連續(xù)訪問一類資源 3 小時(shí)(參數(shù) t1 ),若有 8 小時(shí)(參數(shù) t2 )未訪問此類資源,則可認(rèn)為用戶是重新開始訪問。

將 t1 、 t2 定義的比較長并不能防止惡意用戶定時(shí)攻擊。比如他為了不違反上面的規(guī)則,就每隔 8 小時(shí)下載 3 個(gè)小時(shí)。對(duì)付這種情況,可以定義多條 k 規(guī)則,例如用戶每訪問 3 分鐘就必須休息 1 分鐘;每訪問 10 分鐘必須休息 3 分鐘等。

反向代理是訪問控制系統(tǒng)最核心的部分,其核心技術(shù)就是地址轉(zhuǎn)換。通過它可以保證使用者對(duì)客戶端計(jì)算機(jī)不進(jìn)行任何設(shè)置的情況下就使用訪問控制系統(tǒng)。從外觀看來,也就是從普通用戶看來,反向代理就像普通的 Web 服務(wù)器一樣。而反向代理所代理的每一個(gè) Web 服務(wù)器都好像是反向代理服務(wù)器中的一個(gè)目錄。例如反向代理服務(wù)器本身的 URL 是 http://reverse-proxy ,它可以代理清華主頁服務(wù)器( http://www.tsinghua.edu.cn/index.html ),普通的用戶想通過反向代理服務(wù)器來訪問清華主頁服務(wù)器就只需要訪問 http://reverse-proxy/www.tsinghua.edu.cn/index.html 就行了。

反向代理的實(shí)現(xiàn)

在反向代理中,等于把反向代理服務(wù)器中的目錄映射到其它需要被代理的服務(wù)器上。這樣做只能解決用戶的一次訪問問題,不能做到讓用戶通過反向代理連續(xù)訪問。因?yàn)楸淮淼姆⻊?wù)器上的信息是未知的,對(duì)于 HTTP 協(xié)議來講,很有可能出現(xiàn)絕對(duì)地址或者絕對(duì)鏈接,這樣的話,普通用戶的下一次訪問將會(huì)跳過反向代理而直接訪問真實(shí)的服務(wù)器。這是我們不希望看到的。因此,必須對(duì)服務(wù)器返回給用戶的信息進(jìn)行過濾,將所有的絕對(duì) URL 更改成為通過反向代理的相對(duì) URL 。為此,我們使用了正則表達(dá)式對(duì)所有的鏈接進(jìn)行檢測、替換。于是就實(shí)現(xiàn)了通過反向代理連續(xù)訪問的功能。

當(dāng)用戶的請(qǐng)求到達(dá)反向代理服務(wù)器之后,反向代理通過一定的規(guī)則將 URL 中的目錄信息解析成服務(wù)器以及端口的信息,從而進(jìn)行 socket 鏈接,即反向代理服務(wù)器模擬一個(gè)客戶端向真正的 Web 服務(wù)器發(fā)出 http 請(qǐng)求。當(dāng)?shù)玫交貞?yīng)信息的時(shí)候,通過 HTTP 頭中的 Content-Type 和文件的擴(kuò)展名來判斷得到的信息的類別。若是非 HTML 信息(如 jpg, gif, zip 等),則將其原樣照發(fā)還給用戶,若是 HTML(html, htm, shtml 等),則用先用正則表達(dá)式建立字符串識(shí)別自動(dòng)機(jī),查找 html 文本中所有的鏈接信息。例如, <a href="......"> 、 <img src="......"> 等。然后判定鏈接的類型,對(duì)于在代理范圍之內(nèi)(代理范圍之外不予理會(huì))的絕對(duì) URL (以“ http:// ”打頭),則把它改寫成通過反向代理的格式。

例如

<a href="http://www.test.org">

就會(huì)被改成

<a href="http://reverse-proxy/www.test.org">

對(duì)于絕對(duì) URI (以“ / ”打頭的),也需要更改,例如

<img src="/img/1.jpg">

就要被改成

<img src="/www.test.org/img/1.jpg"> 。

對(duì)于相對(duì)鏈接,則不需要改動(dòng)。除了對(duì) HTML 本身進(jìn)行更改之外,對(duì) HTTP 的頭信息也要解析。其中最關(guān)鍵的就是對(duì) Cookie 路徑的改寫。例如收到 www.test.org 的 cookie 為

Set-Cookie: PART_NUMBER=ROCKET_LAUNCHER_0001; path=/

就要改寫成

Set-Cookie: PART_NUMBER=ROCKET_LAUNCHER_0001; path=/www.test.org/

此外,不僅是收到服務(wù)器的信息需要改寫,用戶發(fā)給服務(wù)器的請(qǐng)求信息也要改寫,其情形與上面所說的類似,這里不再舉例。


本文出自:億恩科技【1tcdy.com】

服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話:0371-60135900
  • 虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號(hào)
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號(hào)總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號(hào)
      1
     
     
     
     

    0371-60135900
    7*24小時(shí)客服服務(wù)熱線