+ -
当前位置:首页 → 问答吧 → apache2.2与tomcat6.0集成问题,懂得朋友请给予解答,小弟感激不尽

apache2.2与tomcat6.0集成问题,懂得朋友请给予解答,小弟感激不尽

时间:2009-09-07

来源:互联网

apache2.1之后就可以用新增mod_proxy和mod_proxy_ajp来整合tomcat了,不过google了很多网上相关的资料好像都没解决如下的问题: 


我想把 
www.abc.com.cn 映射到 http://localhost:8080/abc 
test.abc.com.cn 映射到 http://localhost:8080/test上 

配置代码如下: 
  
NameVirtualHost *:80  
  
<VirtualHost *:80>  
  ServerName www.abc.com.cn  
  ProxyPass / ajp://localhost:8009/abc  
  ProxyPassReverse / ajp://localhost:8009/abc  
</VirtualHost>  
  
  
<VirtualHost *:80>  
  ServerName test.abc.com.cn  
  ProxyPass / ajp://localhost:8009/test  
  ProxyPassReverse / ajp://localhost:8009/test  
</VirtualHost>  

但这样的配置在访问www.abc.com.cn后会被转到www.abc.com.cn/abc,test.abc.com.cn会被转到test.abc.com.cn/test下,如果采用http反向代理 

NameVirtualHost *:80  
  
<VirtualHost *:80>  
  ServerName www.abc.com.cn  
  ProxyPass / http://localhost:8080/abc  
  ProxyPassReverse / http://localhost:8080/abc  
</VirtualHost>  
  
  
<VirtualHost *:80>  
  ServerName test.abc.com.cn  
  ProxyPass / http://localhost:8080/test  
  ProxyPassReverse / http://localhost:8080/test  
</VirtualHost>  


页面中的连接路径就不正确了, 比如<a href="http://www.abc.com.cn/images/test.gif">会变为<a href="http://www.abc.com.cn/test/images/test.gif"> 

这到底是怎么回事呢? 

其实就是用了mod_proxy_ajp把apache和tomcat做了结合,怎么做虚拟主机解析呢?
把www.abc.com.cn 和test.abc.com.cn两个域名指向同一个ip,如何指向两个不同目录?

作者: newcpc   发布时间: 2009-09-07

解决办法:

http://localhost:8080/test/

在后面加上这个 斜线 / 

作者: forandever   发布时间: 2009-09-08

不行~

作者: newcpc   发布时间: 2009-09-08

俺也遇到了 兄弟你怎么解决的

作者: xiongyuanming   发布时间: 2010-07-13

你的配置是正确的,
http://www.abc.com.cn后会被转到http://www.abc.com.cn/abc
http://www.abc.com.cn/images/test.gif -> http://www.abc.com.cn/abc/images/test.gif
不然呢?你希望是什么样子的?

作者: icy_csdn   发布时间: 2010-07-14

等待中。。。

作者: daiming19870   发布时间: 2010-08-23