Apache2 VHost + Port Forwarding - Linux

Table of Contents

各位版友好,小弟這個問題有點複雜,自已也作了很久的功課

Google了不知道多少小時,但是也不知道是問題太基礎還是怎樣,

找到的少少的資料卻都沒有用,只好上來求救了。

1. 環境

Ubuntu 10.4 Server + Apache2 + Tomcat 6

2. 目標

我有2個Domain name,以下就簡稱www1, www2

www1跑的是Java JSP,所以我以後面Tomcat 6,port在8081

www2預計要跑Wordpress,所以就會放在Apache上,用php

我想要用Virtual Host + Port Forwarding

把指向www1的traffic導向8081,這樣就可以用www1.com直接access Tomcat

然後www2的就指向Virtual Host Document Root

3. 目前狀況

Tomcat的VH已經設好(先設著以免以後還有新的Domain name要加)

3.1 Tomcat設定

>> $CATALINA_BASE/conf/server.xml

<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
proxyPort="80"
proxyName="www1.com"
protocal="AJP/1.3"
redirectPort="8443" />

<Host name="www1.com" appBase="/var/lib/tomcat6/www1.com"
unpackWARs="true" autoDeploy="true" xmlValidation="false"/>
<Host name="www2.com" appBase="/var/lib/tomcat6/www2.com"
unpackWARs="true" autoDeploy="true" xmlValidation="false"/>

3.2 Apache2設定

Apache2的VH也已經設好,測試應該是沒有問題

>> /etc/apache2/httpd.conf

NameVirtualHost *:80

>> /etc/apache2/sites-available/www1.com

<VirtualHost *:80>
ServerName addictitio.us
ServerAlias www1.com
ServerAdmin [email protected]
ProxyPass / ajp://localhost:8081/
ProxyPassReverse / ajp://localhost:8081/
</VirtualHost>

>> /etc/apache2/sites-available/www2.com
<VirtualHost *:80>
ServerName www2.com
ServerAlias www2.com
ServerAdmin [email protected]
DocumentRoot /var/www/vhosts/www2.com/httpdocs
</VirtualHost>

4. 問題

我目前的問題就是www1的port forwarding一直不成功,www1.com還是一直

指向/var/www/vhosts/www1.com/httpdocs/,就算我在Apache2的設定中把

DocumentRoot directive拿掉還是一樣。

希望大家看得懂我的問題,如果有類似的設定檔可以參考就太好了,

或是如果有高手願意來幫我處理,我可以提供我server的access,

當然小弟也會略有回報(希望沒有違反版規@@)。

謝謝

--

All Comments

Charlotte avatarCharlotte2011-10-25
你沒有用 mod_jk?
Mason avatarMason2011-10-29
我用mod_proxy
Candice avatarCandice2011-10-31
我看了一下文件,你的 <Connector> 的 protocol 應該寫
AJP/1.3 而那個 protocal 應該是錯的,要拿掉
Freda avatarFreda2011-11-02
這是我看文件的結論,沒有親自測試.僅供參考.