我有apache 2.2,mod_jk坐在两个tomcat 6服务器前面。 (所有在同一个盒子上,一个IP地址)我试图将aaa.test.com的请求发送到一个tomcat服务器,将bbb.test.com发送到另一个。我在htpd.conf文件中定义了两个虚拟主机。我遇到的问题是,无论URL如何,所有请求都会转到htpd.conf文件中首先定义的虚拟主机。如果我只定义了那个,那么任何一个都可以正常工作。
htpd.conf中的设置:
LoadModule jk_module modules/mod_jk.so
JkWorkersFile "C:/Apache/Apache2.2/conf/workers.properties"
JkLogFile "C:/logs/jkmount/mod_jk.log"
JkLogLevel info
<VirtualHost *>
ServerName aaa.test.com
JkMountFile "C:/Apache/Apache2.2/conf/uriworkermap-aaa.properties"
</VirtualHost>
<VirtualHost *>
ServerName bbb.test.com
JkMountFile "C:/Apache/Apache2.2/conf/uriworkermap-bbb.properties"
</VirtualHost>
workers.properties:
worker.list=aaa,bbb
worker.aaa.type=ajp13
worker.aaa.host=srv1.domain.int
worker.aaa.port=8109
worker.bbb.type=ajp13
worker.bbb.host=srv1.domain.int
worker.bbb.port=8109
如果A是第一个,我在mod_jk.log中看到了这个:
[Fri May 04 15:35:03 2012] aaa aaa.test.com 0.003906
如果我更改订单:
[Fri May 04 15:53:43 2012] bbb bbb.test.com 0.011718
感谢。
答案 0 :(得分:3)
您可能想要使用NameBasedVirtual Hosting:
所以你的Apache配置应如下所示:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName aaa.test.com
JkMountFile "C:/Apache/Apache2.2/conf/uriworkermap-aaa.properties"
</VirtualHost>
<VirtualHost *:80>
ServerName bbb.test.com
JkMountFile "C:/Apache/Apache2.2/conf/uriworkermap-bbb.properties"
</VirtualHost>