2014-11-05 69 views
2

我想重定向domain.com到tomcat7,我嘗試了很多配置和犯規似乎工作...重定向阿帕奇到tomcat

這是我/etc/tomcat7/server.xml配置

<Connector port="8080" protocol="HTTP/1.1" 
      connectionTimeout="20000" 
      URIEncoding="UTF-8" 
      redirectPort="8443" 
      proxyName="domain.com" 
      proxyPort="80" 
      /> 

這是我/etc/apache2/httpd.conf

LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so 
AddModule mod_proxy.c 

ProxyPass/http://domain.com:8080/ 
ProxyPassReverse/http://domain.com:8080/ 

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

當我去domain.com的我得到這個默認的Apache消息:

It works! 
This is the default web page for this server. 
The web server software is running but no content has been added, yet. 

當我去domain.com:8080我得到的tomcat的消息:

It works ! 
If you're seeing this page via a web browser, it means you've setup Tomcat successfully.  Congratulations! 
This is the default Tomcat home page. It can be found on the local filesystem at:  /var/lib/tomcat7/webapps/ROOT/index.html 

我裝在Tomcat助理一個幾.WAR被稱爲應用1。
如果我去domain.com/App1我得到:

The requested URL /App1/ was not found on this server. 

但是,如果使用domain.com:8080/App1應用程序正常工作,並顯示一個for循環的例子。

UPDATE:試圖/etc/apache2/ports.conf與此配置:

Listen 80 
ServerName domain.com 
DocumentRoot /var/www/domain.com/public_html 
NameVirtualHost IP 

UPDATE2:我只是打掉了我的Debian和我只是用/etc/apache2/httpd.conf設置如下: (僅適用於該文件我得到相同的結果上面,仍然必須使用domain.com:8080/appname運行一個應用程序...)

<VirtualHost *:8080> 
ProxyRequests off 
ProxyPreserveHost on 
ServerName domain.com 
ServerAlias *.domain.com 
ProxyPass/http://localhost:8080/ 
ProxyPassReverse/http://localhost:8080/ 
</VirtualHost> 

我怎樣才能做到這一點重定向直接到Tomcat默認的消息,而不是apaches?
而如何擺脫的:8080,並應用在domain.com/appname

+0

是否在'VirtualHost'中定義了'ProxyPass'等?如果是這樣的話,VirtualHost是處理「http:// domain.com /'的請求的人嗎?一旦你獲得了httpd-> Tomcat的工作,你就不必擔心':8080'(這是問題的關鍵,對吧?)。 – 2014-11-06 04:28:05

+0

@ChristopherSchultz是/etc/apache2/ports.conf文件嗎? – Alpha2k 2014-11-06 07:55:28

+0

只有你可以告訴我你的Apache httpd是如何配置的。嘗試搜索''並查看您的ProxyPass是否在VirtualHost適用範圍內。 – 2014-11-06 13:14:11

回答

4

下班後很長一段時間,這是塔答案:

Edit file: /etc/apache2/sites-available/default 
    ServerAdmin [email protected] 
    ServerName domain.com 

    DocumentRoot /var/www 
    ProxyPreserveHost on 
    ProxyRequests off 
    ProxyPass /phpmyadmin ! 
    ProxyPass/http://localhost:8080/ 
    ProxyPassReverse/http://localhost:8080/ 

使用!防止轉發phpadmin到tomcat