Apache без изменения узлов с помощью mod_proxy - PullRequest
0 голосов
/ 21 января 2020

Я настроил прокси apache (2.4.41) с stickysession.

Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
<Proxy balancer://testgroup>
  Order deny,allow
  Allow from all

  BalancerMember http://server1:8090 route=node1
  BalancerMember http://server2:8090 route=node2
  ProxySet stickysession=ROUTEID
</Proxy>

Вот конфиг vhost:

<VirtualHost *:80>
    ServerName testserver.mydomain

    ProxyPreserveHost On

    ProxyPass / balancer://testgroup/ stickysession=ROUTEID nofailover=On timeout=10 lbmethod=byrequests
    ProxyPassReverse / balancer://testgroup/
</VirtualHost>

Сайт доступен и работает , Например: повар ie .node1 устанавливается по первому запросу. Когда я теперь go отправляю балансирующему менеджеру и отключаю узел 1 для проверки «отработки отказа», следующий запрос к сайту завершается неудачно и говорит

Service Unavailable

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

, а также в журнале apache говорится:

[proxy_balancer:error] [pid XXX] [client xx.xx.xx.xx:xxxx] AH01167: balancer://testgroup: All workers are in error state for route (node1)

... чтобы все узлы находились в состоянии ошибки, но ему следует изменить маршрут на узел2! Но это не так. Похоже, что прокси не переключается на node2! Я могу повторить тест наоборот с node2 - те же результаты.

У вас есть идеи?

Спасибо большое!

...