Ошибка Apache "AH01171: балансировщик:// кластер: в балансире нет рабочих"

Я пытаюсь настроить сервер Apache (работающий с Docker) в качестве обратного прокси-сервера с балансировкой нагрузки, но, что бы я ни пытался, я получаю сообщение об ошибке [proxy_balancer:error] [pid 8:tid 140013616056064] [client 172.17.0.1:39376] AH01171: balancer://cluster: No workers in balancer

Вот минимальный рабочий пример, чтобы продемонстрировать проблему:

Dockerfile:

FROM httpd:2.4
RUN for mod in \
            slotmem_shm_module lbmethod_byrequests_module \
            proxy_module proxy_http_module proxy_balancer_module; do \
        sed -i "s/^#LoadModule \\($mod\\) /LoadModule \\1 /" conf/httpd.conf; \
    done
RUN echo "Include conf/extra/test.conf" >> conf/httpd.conf

test.conf:

<Proxy "balance://cluster">
    BalancerMember "http://www.google.com/"
    BalancerMember "http://www.xkcd.com/"
</Proxy>

ProxyPass / balancer://cluster/

Беги как docker run -it -p 80:80 -v $PWD/test.conf:/usr/local/apache2/conf/extra/test.conf proxy-test

Затем попробуйте получить http://localhost/ и ошибка появляется на сервере stderr.

Я попытался поместить его в виртуальный хост, установить имя сервера, вставить ProxyPassReverse, поместить ProxyPass внутри <Location /> - ничего из этого не помогает.

1 ответ

Я понял это - это опечатка. balance://cluster должно быть balancer://cluster,

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