0

我有 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>

工人属性:

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

谢谢。

4

1 回答 1

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>
于 2012-05-05T12:32:15.063 回答