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

Принудительно отключить выбор сервера при использовании сохранения сеанса на основе файлов cookie?

Допустим, у меня есть такой блок конфигурации HTTP:

listen testing
  bind 1.2.3.4:80
  balance roundrobin
  use-server server1 if { urlp_val(force) eq 1 }
  use-server server2 if { urlp_val(force) eq 2 }
  force-persist if { urlp(offline) -m bool }
  cookie SRVID insert indirect nocache
  server server1 1.2.3.5:9000 cookie 1
  server server2 1.2.3.6:9000 cookie 2

Затем в какой-то момент я отключаю server2 через интерфейс сокета, так что все подключения к нему теперь принудительно переключаются на server1. Но server2 на самом деле не отключен, он просто находится на обслуживании, и его следует проверить перед повторным включением. Так прося http://1.2.3.4/?force=2&offline=true должен быть проксирован на server2. Но этого не происходит, это проксируется на server1.

Если я добавлю option persist тогда настойчивость останется, и никто не будет направлен на server1 поскольку server2 не было действительно недоступно.

Как я могу достичь своей цели и остановить трафик с автоматической балансировкой нагрузки, идущий в server2 но принудительно использовать условный трафик, когда он отключен?