Apache反向代理

Apache反向代理设置

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/ 时,会重新反向代理访至 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   转发给   TomcatTomcat   处理完后,将   HTTP   回应返回给   Apache,然后   Apache     HTTP   回应发回给用户端浏览器。  
   
  Apache   HTTP   server  
  Tomcat   server   直接的   HTTP   数据传输,有很多种方法。  
   
 
方法一,使用   mod_jk。很多网站上介绍到   Apache   HTTP   server     Tomcat   server   整合的时候,都是在介绍     mod_jk.so   的使用,这是一种比较老的方法,并且需要额外下载   mod_jkApache     Tomcat   的默认配置文件都需要改动。  
   
 
方法二,   URL   rewrite,也就是对于指定格式的   URL,转发给某个   Tomcat   的网址。这里所说的指定格式,是指   Apache   所使用的正则表达式,通俗地将,是一种类似   *   的一种比较高级通配符。这种方法不需要下在额外的文件,只需要配置   Apache  
   
 
方法三,mod_proxy_ajp,仅在   Apache   2.1   及以后的版本中可用,Apache   自带的一个新功能模块。这时   Apache   使用   Apache   JServ   Protocol     Tomcat   通讯。不需要下在额外的文件,需要改动Apache     Tomcat   的默认配置文件都需要改动。  
   
 
方法四,mod_proxy。其实   mod_proxy   既可以做类似于   Wingate   一样的公司局域网共享上网代理,也可以做反向代理(Reverse   proxy)。这里使用的是反向代理功能,用户端浏览器不需要把代理服务器改成这里的   Apache   地址。mod_proxy     Apache   自带功能,并且配置比较简单。  
   
 
这篇文章介绍   Apache   反向代理转发   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   反向代理只做   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   最新版本来说,使用反向代理达不到这个要求,应该使用   Apaceh   新建一个   virtual   host   ,换成使用   URL   rewrite。这与题目无关,就此打住。

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

原文地址:https://www.cnblogs.com/willpower/p/1348675.html