Использование mod_proxy_cluster и mod_proxy в одной конфигурации VirtualHost of Apache (httpd)

У меня была среда с несколькими серверами JBoss и Tomcat. Они подключены к Apache через модули modcluster (к IP-адресу Apache и порту 8090). Апач содержит конфигурацию:

loadbalancer.conf

LoadModule slotmem_module modules/mod_slotmem.so
LoadModule manager_module modules/mod_manager.so
LoadModule proxy_cluster_module modules/mod_proxy_cluster.so
LoadModule advertise_module modules/mod_advertise.so

Listen *:8090
<VirtualHost *:8090>

 <Location /mod_cluster_manager>
    SetHandler mod_cluster-manager
    Order deny,allow
    Deny from 8.8.8.8
    Allow from all
  </Location>

  KeepAliveTimeout 60
  MaxKeepAliveRequests 100
  EnableMCPMReceive
  ManagerBalancerName My_Cluster
  AdvertiseFrequency 5

</VirtualHost>

<VirtualHost *:443>
    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/ca.crt
    SSLCertificateKeyFile /etc/pki/tls/private/ca.key

ProxyPass /other_app http://192.168.100.70:8080/other_app
ProxyPassReverse /other_app http://192.168.100.70:8080/other_app

ProxyPass / balancer://My_Cluster

</VirtualHost>  

Все работает нормально, но одно новое приложение не поддерживает подключение к Apache. Мне нужно использовать ProxyPass. Когда я установил ProxyPass на виртуальный хост 443, все сбалансированные контексты перестали работать. Когда я вставил: ProxyPass / balancer://My_Cluster Контекст /other_app перестал работать.

Можете ли вы посоветовать мне, как настроить обработку context /other_app с помощью ProxyPass и всех других контекстов с помощью Modcluster Balancer?

2 ответа

Попробуйте использовать следующую директиву верхнего уровня (добавить чуть ниже LoadModule's)

#This is needed to prevent mod_cluster creating balancer for all VH's
CreateBalancers 1

Сделать это удалось с помощью следующего:

      ProxyPass /other_app http://192.168.100.70:8080/other_app
ProxyPassReverse /other_app http://192.168.100.70:8080/other_app
ProxyPass /other_app !

ProxyPass / balancer://My_Cluster

На основе https://serverfault.com/questions/363788/serve-all-requests-via-proxy-except-a-specific-one

Другие вопросы по тегам