Я пытаюсь выяснить, что не так с моей конфигурацией apache, которая не позволяет балансировщику вызывать второй BalanceMember на порту 9001. Или даже какие-то варианты устранения неполадок. Журналы Apache голые.
При использовании конфигурации ниже apache запускается нормально, и запросы перенаправляются с 80 на 9000, как и ожидалось. Однако, когда я закрываю службу, работающую на 9000, служба, работающая на 9001, не вызывается по запросу на порт 80. Я могу напрямую перейти к службе, работающей на 9001, поэтому я точно знаю, что она запущена и доступна.
<VirtualHost X.X.X.X:80>
ServerName myportal.com
DocumentRoot /var/www/drig/data/www/myportal.com
SuexecUserGroup drig drig
ProxyStatus on
ProxyPreserveHost on
<Location /balancer-manager>
SetHandler balancer-manager
Order Deny,Allow
Allow from all
</Location>
<Proxy balancer://mycluster>
BalancerMember http://localhost:9000
BalancerMember http://localhost:9001 status=+H
</Proxy>
ProxyPass /balancer-manager !
ProxyPass / balancer://mycluster/
</VirtualHost>
Проблема закончилась тем, что iptables блокировал соединение. Это работало на экземпляре EC2, и когда я запустил:
service iptables stop
Подключение было успешным с конфигурацией выше.
Попробуйте со следующей конфигурацией
<VirtualHost *:80>
ProxyRequests off
ServerName myportal.com
<Proxy balancer://mycluster>
BalancerMember http://localhost:9000
BalancerMember http://localhost:9001
Order Deny,Allow
Deny from none
ProxySet lbmethod=byrequests
</Proxy>
<Location /balancer-manager>
SetHandler balancer-manager
Order deny,allow
Allow from all
</Location>
ProxyPass /balancer-manager !
ProxyPass / balancer://mycluster/
</VirtualHost>