简单代理Apache - Tomcat

时间:2015-10-19 23:04:19

标签: java apache tomcat proxy

我的意图很简单,我想输入example.com并重定向到example.com:8080/myapp

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 个答案:

答案 0 :(得分:1)

Proxypass更改服务器名称部分,但不更改资源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]