Использование 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