2011-11-25 104 views
0

之間我一直在試圖建立一個Web代理重定向到其位於問題與建立代理Apache服務器和Tomcat

http://example.com:8085/app tomcat的應用程序。但我無法讓它工作。

<VirtualHost XXX.XXX.XXX.XX:80> 
    ServerName example.com 

    ServerAlias www.example.com 

    ProxyRequests Off 

    ProxyPreserveHost On 

    <Proxy *> 
     Order deny,allow 
     Allow from all 
    </Proxy> 

    ProxyPass /app http://localhost:8085/app 
    ProxyPassReverse /app http://localhost:8085/app 

    #ProxyPass/ajp://localhost:8085/ (tried this as well) 
    #ProxyPassReverse/ajp://localhost:8085/ (tried this as well) 

    <Location /> 
     Order allow,deny 
     Allow from all 
    </Location> 

    #DocumentRoot /home/groupname/public_html (apache location - dummy) 

    DocumentRoot /usr/local/tomcat/apache-tomcat-6.0.33/webapps/app (tomcat location) 

</VirtualHost> 

以下是server.xml文件中的配置。

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 

    <Engine name="Catalina" defaultHost="localhost"> 

    <Host name="localhost" appBase="webapps" 
    unpackWARs="true" autoDeploy="true" 
    xmlValidation="false" xmlNamespaceAware="false"> 

<Connector port="8085" protocol="HTTP/1.1" 
       connectionTimeout="20000" 
       redirectPort="8443" /> 

現在這就是我正在嘗試做的。當我輸入www.example.com或example.com時,我想去應用程序。有人能指點我做錯了嗎?

回答

0

你需要mod_jk或類似的東西來做tomcat和apache之間的真正連接。

嘗試this

的代理設置了有更多的目的隱藏的端口號

+0

mod_jk的是這樣做的一種方式。我已經在我的服務器上設置了mod_proxy,所以在我繼續嘗試mod_jk之前嘗試使用它。 – junedkazi

+0

好吧,如果是這樣的話,ajp連接器在這裏不相關。對於代理'<連接器端口=「8085」協議=「HTTP/1.1」connectionTimeout =「20000」redirectPort =「8443」/>'。根據[this](http://tomcat.apache.org/tomcat-5.5-doc/proxy-howto.html),正確的語法應該是'proxyport'。 – Will