2012-05-04 255 views
0

我有一個mod_jk坐在兩個tomcat 6服務器前面的apache 2.2。 (全部在同一個盒子上,一個IP地址)我試圖將aaa.test.com的請求指向一個tomcat服務器,將bbb.test.com指向另一個。我在htpd.conf文件中定義了兩個虛擬主機。我遇到的問題是,無論URL如何,所有請求都會轉到首先在htpd.conf文件中定義的虛擬主機。如果我只定義了一個,那麼任何一個都可以正常工作。在Apache 2.2中設置虛擬主機

在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

你有沒有在你的httpd.conf文件NameVirtualHost指令是什麼? –

回答

3

你可能想使用NameBasedVirtual託管:

所以,你的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> 
+0

這樣做的竅門,謝謝! – Striker

+0

如果確實有效,請將答案標記爲解決方案... – mimiz