在Apache代理后面使用Tomcat时,getRequestURI中的应用程序前缀出现问题

时间:2014-02-13 19:16:24

标签: java apache tomcat proxy ajp

我的Tomcat在Apache服务器后面有问题。我设置Apache用作AJP代理,它似乎工作,如果我在apache服务器上打开浏览器,我从Tomcat服务器获取输出。我的请求URI有问题。我在程序中使用它,遗憾的是它没有给我正确的URI:

当我访问此页面时:

http://<apache-server>/test

该行

logger.entry(request.getRequestURL().toString() + " " + request.getRequestURI().toString());

在日志中返回:

http://<apache-server>/app/test /app/test

而不是我需要的东西:

http://<apache-server>/test /test

apache-server上的配置如下:

<VirtualHost *:80>
      ProxyRequests     off
      ProxyPreserveHost on
      ProxyPass / ajp://<tomcat-server>:8009/pps/
      ProxyPassReverse / ajp:/<tomcat-server>:8009/app/
</VirtualHost>

tomcat服务器在server.xml中有这个:

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

我发现页面建议在tomcat中将应用程序部署为ROOT,但这看起来很脏......

0 个答案:

没有答案