Apache代理一个Tomcat服务器下多个项目虚拟主机

Apache 虚拟主机 VirtualHost 配置 http://www.neoease.com/apache-virtual-host/

原文: http://my.oschina.net/u/1240347/blog/484770
1、配置好Tomcat下虚拟主机即修改tomcatHome/conf/server.xml文件

具体修改Engine标签下的host标签,一对host标签就对应一个虚拟主机
<Host name="www.test1.com"  appBase="webapps"  unpackWARs="true" autoDeploy="true">        
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"               
           prefix="localhost_access_log." suffix=".txt"
           pattern="%h %l %u %t &quot ;%r&quot; %s%b" />          
           <Context path="" docBase="caiwu" reloadable="true" crossContext="true"/>
</Host>
 
<Host name="www.test2.com"  appBase="webapps" unpackWARs="true" autoDeploy="true">        
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"               
           prefix="localhost_access_log." suffix=".txt"               
           pattern="%h %l %u %t &quot;%r&quot; %s %b" />          
          <Context path="" docBase="wkwifi" reloadable="true" crossContext="true"/>
</Host>



2、配置用于转发的Apache的配置文件即修改ApacheHome/conf/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


NameVirtualHost *:80
ProxyPreserveHost On
<VirtualHost*:80>
        ServerName www.test1.com
        ProxyPass / http://www.test1.com:8080/
        ProxyPassReverse / http://www.test1.com:8080/
</VirtualHost>
<VirtualHost*:80>
        ServerName www.test2.com
        ProxyPass / http://www.test2.com:8080/
        ProxyPassReverse / http://www.test2.com:8080/
</VirtualHost>

     以上两对VirtualHost标签分别配置了两个代理规则将www.test1.com这个域名代理到http://www.test1.com:8080/对应的项目,这样即可以实现非80端口的tomcat项目通过域名可以直接访问的目的。

猜你喜欢

转载自panyongzheng.iteye.com/blog/2231080
今日推荐