Apache反向 Proxy

來源:互聯網
上載者:User

Apache反向 Proxy設定

1>修改 httpd.conf 檔案中:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
模組功能設定為啟用。

2>在 httpd.conf 檔案中,添加:
ProxyPass /Test http://127.0.0.1:8080/
ProxyPassReverse /Test http://127.0.0.1:8080
<proxy  http://127.0.0.1:8080>
    AllowOverride None
    Order Deny,Allow
    Allow from all
</proxy>

步驟2的功能:訪問 http://127.0.0.1/Test/ 時,會重新反向 Proxy訪至 http://127.0.0.1:8080

3>重新啟動Apache.

OK

http://www.cnblogs.com/answer/archive/2007/01/05/612661.html

 

 

Apache   HTTP   server   和   Tomcat   server   整合,一般是希望對於使用者只公布   Apache   HTTP   server   的網址,而   Tomcat   的網址則不公布,扮演一個幕後英雄的角色。訪問   Tomcat   的   HTTP   請求,通過   Apache   轉寄給   Tomcat,Tomcat   處理完後,將   HTTP   回應返回給   Apache,然後   Apache     HTTP   回應發回給使用者端瀏覽器。  
   
  Apache   HTTP   server   和   Tomcat   server   直接的   HTTP   資料轉送,有很多種方法。  
   
  方法一,使用   mod_jk。很多網站上介紹到   Apache   HTTP   server   和   Tomcat   server   整合的時候,都是在介紹     mod_jk.so   的使用,這是一種比較老的方法,並且需要額外下載   mod_jk。Apache   和   Tomcat   的預設設定檔都需要改動。  
   
  方法二,   URL   rewrite,也就是對於指定格式的   URL,轉寄給某個   Tomcat   的網址。這裡所說的指定格式,是指   Apache   所使用的Regex,通俗地將,是一種類似   *   的一種比較進階萬用字元。這種方法不需要下在額外的檔案,只需要配置   Apache。  
   
  方法三,mod_proxy_ajp,僅在   Apache   2.1   及以後的版本中可用,Apache   內建的一個新功能模組。這時   Apache   使用   Apache   JServ   Protocol   與   Tomcat   通訊。不需要下在額外的檔案,需要改動Apache   和   Tomcat   的預設設定檔都需要改動。  
   
  方法四,mod_proxy。其實   mod_proxy   既可以做類似於   Wingate   一樣的公司區域網路共用上網代理,也可以做反向 Proxy(Reverse   proxy)。這裡使用的是反向 Proxy功能,使用者端瀏覽器不需要把Proxy 伺服器改成這裡的   Apache   地址。mod_proxy   是   Apache   內建功能,並且配置比較簡單。  
   
  這篇文章介紹   Apache   反向 Proxy轉寄   HTTP   請求到   Tomcat   的配置。比較簡單實用。  
   
  下載   Apache   web   server     2.2,安裝完成後,修改安裝目錄下的   conf/httpd.conf   檔案,將以下兩行前的注釋字元   #   去掉。  
   
  #LoadModule   proxy_module   modules/mod_proxy.so  
  #LoadModule   proxy_http_module   modules/mod_proxy_http.so  
   
  在這個設定檔最後,加上  
   
  ProxyPass                                     /app1   http://<tomcat_server_address>:port/url1  
   
  ProxyPassReverse     /app1   http://<tomcat_server_address>:port/url1  
   
  儲存設定檔後重新啟動   Apache   就可以了。當使用者訪問  
   
  http://<apache_server_address>/app1   的時候,Apache   後台自動將請求轉寄給   Tomcat   ,使用者只認為   Apache   server   就是他所要的應用伺服器。  
   
  細心的作者可以看到,Tomcat   那邊沒有做任何改動,是不是說明,如果   Tomcat   換成   JBoss,或者   IBM   Websphere,或者   BEA   Weblogic   ,也可以用   Apache   來轉寄呢?答案是,確實如此!!  
   
  這裡需要解釋的是,   Apache   反向 Proxy只做   HTTP   透明轉寄,因此,Tomcat   那邊,如果使用   servelet   API   擷取   request   url,   server   info,等等,都是   Tomcat   的。在Tomcat   上的   JSP   或者   HTML   檔案裡面,都應該是相對路徑,不應該使用絕對路徑,更不能使用帶   Tomcat   地址的   URL。這應該不是太高的要求,對不?  
   
  目前最新版的   Apache   內建的   cache   ,只能配置成   server   或者   virtual   host   一級的,沒有辦法配置到   URL   一級。好在一般的   J2EE   應用效能問題,一般都在動態網頁部分,靜態網頁很好,因此也沒有太大關係。  
   
  對於要求比較高的應用,比如使用者量多的新聞網站或者論壇網站,如果要求是用   Apache   緩衝背景動態網頁,比如說,我的首頁可以允許緩衝一分鐘,則在這一分鐘內,比如有兩千次使用者訪問   http://somehost/index.jsp,只有第一次使用者訪問,Apache   會把請求轉寄到   Tomcat,其餘的   999   次訪問,都是由   Apache   從緩衝中取出這個頁面返回給使用者看。這樣背景動態網頁伺服器的負荷會小很多。以目前的   Apache   最新版本來說,使用反向 Proxy達不到這個要求,應該使用   Apaceh   建立一個   virtual   host   ,換成使用   URL   rewrite。這與題目無關,就此打住。

 

http://topic.csdn.net/t/20060912/11/5015746.html

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.