Назад | Перейти на главную страницу

Коннектор AJP Apache-Tomcat с приложением php и java

У меня вопрос по прокси и модулю ajp.

На моей машине есть веб-сервер Apache и контейнер сервлетов Tomcat.

На Tomcat запущено мое веб-приложение java.

На Apache у меня есть несколько сервисов, и я могу назвать их так:

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

Я бы настроил коннектор ajp для вызова моего веб-приложения tomcat из Apache. Я бы что-нибудь как http://myhost для вызова веб-приложения Tomcat.

Итак, я настроил свой apache таким образом ... и у меня есть то, что я хотел: я могу использовать http://myHost для визуализации веб-приложения Tomcat от Apache.

<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 пытается выполнить поиск service1 в моем tomcatWebApp.

Есть способ исправить?

Вы можете предотвратить проксирование ваших служб Apache в Tomcat, используя ! синтаксис исключения, как вы уже делаете для server-status и balancer-manager:

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