不做浮躁的人
          正在行走的人...
          posts - 171,  comments - 51,  trackbacks - 0

          Apache可以被配置為正向(forward)和反向(reverse)代理。

          正向代理是一個(gè)位于客戶端和原始服務(wù)器(origin server)之間的服務(wù)器,為了從原始服務(wù)器取得內(nèi)容,客戶端向代理發(fā)送一個(gè)請(qǐng)求并指定目標(biāo)(原始服務(wù)器),然后代理向原始服務(wù)器轉(zhuǎn)交請(qǐng)求并將獲得的內(nèi)容返回給客戶端。客戶端必須要進(jìn)行一些特別的設(shè)置才能使用正向代理。

          正向代理的典型用途是為在防火墻內(nèi)的局域網(wǎng)客戶端提供訪問Internet的途徑。正向代理還可以使用緩沖特性(由mod_cache提供)減少網(wǎng)絡(luò)使用率。

          使用ProxyRequests指令即可激活正向代理。因?yàn)檎虼碓试S客戶端通過它訪問任意網(wǎng)站并且隱藏客戶端自身,因此你必須采取安全措施以確保僅為經(jīng)過授權(quán)的客戶端提供服務(wù)。

          注意:在您沒有對(duì)服務(wù)器采取安全措施之前,請(qǐng)不要用ProxyRequests啟用代理。一個(gè)開放的代理服務(wù)器不僅對(duì)您的網(wǎng)絡(luò)有威脅,對(duì)整個(gè)因特網(wǎng)來說也同樣如此。

          反向代理正好相反,對(duì)于客戶端而言它就像是原始服務(wù)器,并且客戶端不需要進(jìn)行任何特別的設(shè)置。客戶端向反向代理的命名空間(name-space)中的內(nèi)容發(fā)送普通請(qǐng)求,接著反向代理將判斷向何處(原始服務(wù)器)轉(zhuǎn)交請(qǐng)求,并將獲得的內(nèi)容返回給客戶端,就像這些內(nèi)容原本就是它自己的一樣。

          反向代理的典型用途是將防火墻后面的服務(wù)器提供給Internet用戶訪問。反向代理還可以為后端的多臺(tái)服務(wù)器提供負(fù)載平衡,或?yàn)楹蠖溯^慢的服務(wù)器提供緩沖服務(wù)。另外,還可以啟用高級(jí)URL策略和管理技術(shù),從而使處于不同web服務(wù)器系統(tǒng)的web頁(yè)面同時(shí)存在于同一個(gè)URL空間下。

          可以使用ProxyPass指令激活反向代理(在RewriteRule指令中使用[P]標(biāo)記也可以)。配置反向代理并不需要打開ProxyRequests指令。

           

          正向代理
          ProxyRequests On
          ProxyVia On

          <Proxy *>

          Order deny,allow
          Deny from all
          Allow from internal.example.com

          </Proxy>

          反向代理
          ProxyRequests Off

          <Proxy *>

          Order deny,allow
          Allow from all

          </Proxy>

          ProxyPass /app1 http://server:port/app2
          ProxyPassReverse /app1 http://server:port/app2

           因此,我們可以使用反向帶來實(shí)現(xiàn)apache和tomcat,webphere,weblogic等應(yīng)用服務(wù)器的集成。但是由于apache 反向代理只做 HTTP 透明轉(zhuǎn)發(fā),因此應(yīng)用中的連接都應(yīng)該是相對(duì)路徑,不應(yīng)該使用絕對(duì)路徑,更不能使用帶應(yīng)用上下文。

          如果后端應(yīng)用中使用<c:url等生成絕對(duì)路徑的應(yīng)用,最好是轉(zhuǎn)發(fā)的辦法就是讓轉(zhuǎn)發(fā)的上下文呢和目標(biāo)的上下文一致。這樣就可以避免路徑的問題。

          調(diào)試apache,最好用命令行執(zhí)行httpd.exe -w -n “Apache” -k start,在控制臺(tái)上會(huì)顯示哪行配置有錯(cuò),在monitor 中沒有這個(gè)功能。

          關(guān)于經(jīng)常的提示端口被綁定或者被占用,一般可以通過netstat -ano查找到占用80端口的PID,再去任務(wù)管理器查看對(duì)應(yīng)PID的進(jìn)程,對(duì)進(jìn)程進(jìn)行操作和處理。


          另外,要使用代理功能,別忘了將下面兩個(gè)模塊的裝載注釋去掉:
          LoadModule proxy_module modules/mod_proxy.so
          LoadModule proxy_http_module modules/mod_proxy_http.so


          后續(xù)做一些apache的cache和balancer的研究與使用。
          posted on 2010-12-04 21:16 不做浮躁的人 閱讀(1862) 評(píng)論(0)  編輯  收藏 所屬分類: others

          <2010年12月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          常用鏈接

          留言簿(9)

          隨筆分類(31)

          隨筆檔案(75)

          文章分類(1)

          文章檔案(3)

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 灌云县| 岑巩县| 扎鲁特旗| 凤冈县| 公安县| 府谷县| 泗阳县| 阳江市| 石嘴山市| 青川县| 连州市| 麻江县| 天等县| 江北区| 鄂州市| 阳新县| 株洲县| 七台河市| 陵川县| 白银市| 腾冲县| 旺苍县| 榆树市| 云龙县| 安溪县| 马边| 湘乡市| 三河市| 太康县| 正定县| 云霄县| 沅江市| 丹巴县| 紫云| 石楼县| 电白县| 溆浦县| 深水埗区| 稻城县| 澜沧| 图木舒克市|