
Я использую Apache 2.2.4 в качестве обратного прокси-сервера в моей DMZ. Proxy Balancer, кажется, работает отлично, когда включены два сервера BalancerMember. Но если я отключу один из них, то потребуется около 30-45 секунд, чтобы что-то загрузить на моем сайте каждый раз, когда я загружаю страницу. Вот моя конфигурация:
ServerName mywebsite.com
ProxyRequests Off
<Proxy *>
Order deny, allow
Allow from all
</Proxy>
<Proxy balancer://mycluster>
BalancerMember http://10.10.10.10:80/outside loadfactor=1 retry=60
BalancerMember http://10.10.10.11:80/outside loadfactor=1 retry=60
</Proxy>
ProxyPass /outside balancer://mycluster/
ProxyPassReverse /outside balancer://mycluster/
ProxyPass /balancer-manager !
<Location /balancer-manager>
SetHandler balancer-manager
</Location>
Сервер действует как обратный прокси для служб REST, которые находятся за ним. Когда я загружаю веб-приложение, оно вызывает службы REST несколько раз, поэтому я не знаю, может ли это также быть причиной замедления, так как Proxy получает много запросов одновременно.
решение1
Установите значение ProxyTimeout
всего в несколько секунд — в результате он будет долго пытаться подключиться к неработающему бэкэнду, не отключая его по времени.
Если вы установите что-то вроде этого, ProxyTimeout 3
соединение будет обрываться быстрее, а если retry=60
установите что-то вроде этого, то неработающий сервер не будет использоваться в течение следующей минуты.