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

Балансировщик нагрузки Apache не будет пересылать второму участнику баланса

Я пытаюсь выяснить, что не так с моей конфигурацией 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>