2015-10-19 42 views
1

我的目的很简单,我想键入example.com和被重定向到example.com:8080/myapp简单代理的Apache - Tomcat的

example.com:8080/myapp是一个java/tomcat的应用。

<VirtualHost *:80> 
    ServerName example.com 

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

    ProxyPass/http://example.com:8080/myapp/ 
    ProxyPassReverse/http://example.com:8080/myapp/ 

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

    ErrorLog ${APACHE_LOG_DIR}/error.log 

    LogLevel info 

    CustomLog ${APACHE_LOG_DIR}/access.log combined 

    </VirtualHost> 

,其结果是当我输入http://example.com它重定向到example.com:8080/myapp/myapp

从Tomcat我的文件server.xml中有后续的指令:

Connector port="8080" protocol="HTTP/1.1" 
     connectionTimeout="20000" 
     URIEncoding="UTF-8" 
     proxyPort="80" proxyName="example.com" 

我错过了什么?

回答

1

PROXYPASS更改服务器名称的一部分,但不是的ressource ID之一:

相反的:

ProxyPass/http://example.com:8080/myapp/ 
ProxyPassReverse/http://example.com:8080/myapp/ 

用途:

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

编辑:

然后加:

RewriteEngine on 
RewriteRule ^/$ /myapp [PT] 
+0

谢谢您的回答Cukic0d,我想这个配置。当我尝试这个页面加载tomcat主页面时,我想加载主应用程序的第一页。 –

+0

已编辑!看看我的帖子... – Cukic0d