Document the "ignore-persist" option.
-- Cyril Bonté
--- haproxy-1.4.4/doc/configuration.txt 2010-04-07 23:12:24.000000000 +0200 +++ haproxy-1.4.4-persist/doc/configuration.txt 2010-04-25 22:18:46.000000000 +0200 @@ -836,6 +836,7 @@ option httpclose (*) X X X X option httplog X X X X option http_proxy (*) X X X X +option ignore-persist - X X X option independant-streams (*) X X X X option log-health-checks (*) X - X X option log-separate-errors (*) X X X - @@ -1003,7 +1004,8 @@ Example : appsession JSESSIONID len 52 timeout 3h - See also : "cookie", "capture cookie", "balance", "stick" and "stick-table". + See also : "cookie", "capture cookie", "balance", "stick", "stick-table" + and "option ignore-persist" backlog <conns> @@ -1700,7 +1702,8 @@ cookie SRV insert indirect nocache cookie SRV insert postonly indirect - See also : "appsession", "balance source", "capture cookie", "server". + See also : "appsession", "balance source", "capture cookie", "server" + and "option ignore-persist". default-server [param*] @@ -1895,7 +1898,8 @@ "unless" condition is met. The final redispatch is always disabled when this is used. - See also : "option redispatch", "persist", and section 7 about ACL usage. + See also : "option redispatch", "option ignore-persist", "persist", + and section 7 about ACL usage. fullconn <conns> @@ -2950,6 +2954,30 @@ See also : "option httpclose" +option ignore-persist { if | unless } <condition> + Declare a condition to ignore persistence + May be used in sections: defaults | frontend | listen | backend + no | yes | yes | yes + + By default, when cookie persistence is enabled, every requests containing + the cookie are unconditionally persistent (assuming the target server is up + and running). + + The "ignore-persist" statement allows one to declare various ACL-based + conditions which, when met, will cause a request to ignore persistence. + This is sometimes useful to load balance requests for static files, which + oftenly don't require persistence. This can also be used to fully disable + persistence for a specific User-Agent (for example, some web crawler bots). + + Combined with "appsession", it can also help reduce HAProxy memory usage, as + the appsession table won't grow if persistence is ignored. + + The persistence is ignored when an "if" condition is met, or unless an + "unless" condition is met. + + See also : "option force-persist", "cookie", and section 7 about ACL usage. + + option independant-streams no option independant-streams Enable or disable independant timeout processing for both directions @@ -7303,7 +7331,8 @@ I : the client provided an INVALID cookie matching no known server. This might be caused by a recent configuration change, mixed - cookies between HTTP/HTTPS sites, or an attack. + cookies between HTTP/HTTPS sites, persistence conditionally + ignored, or an attack. D : the client provided a cookie designating a server which was DOWN, so either "option persist" was used and the client was sent to