]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MEDIUM: proxy: force traffic on unpublished/disabled backends
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Wed, 7 Jan 2026 13:15:14 +0000 (14:15 +0100)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 15 Jan 2026 08:08:19 +0000 (09:08 +0100)
commit6870551a572aae8f4e687ae856b337fb3426a2c9
tree4ddaf4f63c2d4c8a96093ea1e983c88dccc6b8ab
parent16f035d5556133d3698b8e4451c90edce79c1721
MEDIUM: proxy: force traffic on unpublished/disabled backends

A recent patch has introduced a new state for proxies : unpublished
backends. Such backends won't be eligilible for traffic, thus
use_backend/default_backend rules which target them won't match and
content switching rules processing will continue.

This patch defines a new frontend keywords 'force-be-switch'. This
keyword allows to ignore unpublished or disabled state. Thus,
use_backend/default_backend will match even if the target backend is
unpublished or disabled. This is useful to be able to test a backend
instance before exposing it outside.

This new keyword is converted into a persist rule of new type
PERSIST_TYPE_BE_SWITCH, stored in persist_rules list proxy member. This
is the only persist rule applicable to frontend side. Prior to this
commit, pure frontend proxies persist_rules list were always empty.

This new features requires adjustment in process_switching_rules(). Now,
when a use_backend/default_backend rule matches with an non eligible
backend, frontend persist_rules are inspected to detect if a
force-be-switch is present so that the backend may be selected.
doc/configuration.txt
include/haproxy/http_ana-t.h
reg-tests/stream/test_content_switching.vtc
src/proxy.c
src/stream.c