Apache-2.2

AJP 連接器 Apache-Tomcat 與 php 和 java 應用程序

  • November 5, 2013

我有一個關於代理和 ajp 模組的問題。

在我的機器上,我有一個 Apache Web 伺服器和一個 Tomcat servlet 容器。

在 Tomcat 上執行我的 java web 應用程序。

在 Apache 上,我有一些服務,我可以這樣呼叫它們:

http://myhos/service1
http://myhos/service2
http://myhos/service3

我會配置一個 ajp 連接器來從 Apache 呼叫我的 tomcat Web 應用程序。我想http://myhost 呼叫Tomcat webapp。

所以,我以這種方式配置了我的 apache..我得到了我想要的:我可以用http://myHostApache 來視覺化 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 上搜尋 service1。

有沒有辦法解決它?

您可以使用排除語法來防止您的 Apache 服務被代理到 Tomcat !,就像您已經為server-statusand所做的那樣balancer-manager

ProxyPass /service1 !
ProxyPass /service2 !
ProxyPass /service3 !

引用自:https://serverfault.com/questions/550821