我有一个关于代理和ajp模块的问题。
在我的机器上,我有一个Apache Web服务器和一个Tomcat servlet容器。
在Tomcat上运行我的Java Web应用程序。
在Apache上我有一些服务,我可以这样调用它们:
http://myhos/service1 http://myhos/service2 http://myhos/service3
我将configuration一个ajp连接器来从Apache调用我的tomcat web应用程序。 我会事端为http://myhost来调用Tomcat webapp。
所以,我以这种方式configuration我的Apache。我有我想要的:我可以使用http://myHost来通过Apache可视化的Tomcat webApp。
<VirtualHost *:80> ProxyRequests off ProxyPreserveHost On ServerAlias myserveralias ErrorLog logs/error.log CustomLog logs/access.log common <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /server-status ! ProxyPass /balancer-manager ! ProxyPass / balancer://mycluster/ stickysession=JSESSIONID nofailover=Off maxattempts=1 <Proxy balancer://mycluster> BalancerMember ajp://myIp:8009 min=10 max=100 route=portale loadfactor=1 ProxySet lbmethod=bytraffic </Proxy> <Location /balancer-manager> SetHandler balancer-manager Order deny,allow Allow from localhost </Location> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent </VirtualHost>
但是,现在我不能使用Apache服务:
如果我使用http://myhos/service1我有一个错误,因为Apache尝试在我的tomcatWebApp上searchservice1。
有没有办法解决它?
您可以防止您的Apache服务被代理到Tomcat通过使用! 排除语法,就像你已经在做的server-status和balancer-manager :
ProxyPass /service1 ! ProxyPass /service2 ! ProxyPass /service3 !