diff --git a/doc/configuration.txt b/doc/configuration.txt index 805ab0c58..d9368b938 100644 --- a/doc/configuration.txt +++ b/doc/configuration.txt @@ -64,8 +64,6 @@ Summary 5.3.1. Global overview 5.3.2. The resolvers section -6. HTTP header manipulation - 7. Using ACLs and fetching samples 7.1. ACL basics 7.1.1. Matching booleans @@ -84,6 +82,12 @@ Summary 7.3.6. Fetching HTTP samples (Layer 7) 7.4. Pre-defined ACLs +6. Cache +6.1. Limitation +6.2. Setup +6.2.1. Cache section +6.2.2. Proxy section + 8. Logging 8.1. Log levels 8.2. Log formats @@ -110,11 +114,6 @@ Summary 9.3. Stream Processing Offload Engine (SPOE) 9.4. Cache -10. Cache -10.1. Limitation -10.2. Setup -10.2.1. Cache section -10.2.2. Proxy section 1. Quick reminder about HTTP ---------------------------- @@ -364,12 +363,12 @@ HAProxy may emit the following status codes by itself : 400 for an invalid or too large request 401 when an authentication is required to perform the action (when accessing the stats page) - 403 when a request is forbidden by a "block" ACL or "reqdeny" filter + 403 when a request is forbidden by a "http-request deny" rule 408 when the request timeout strikes before the request is complete 500 when haproxy encounters an unrecoverable internal error, such as a memory allocation failure, which should never happen 502 when the server returns an empty, invalid or incomplete response, or - when an "rspdeny" filter blocks the response. + when an "http-response deny" rule blocks the response. 503 when no server was available to handle the request, or in response to monitoring requests which match the "monitor fail" condition 504 when the response timeout strikes before the server responds @@ -2443,29 +2442,9 @@ external-check path X - X X persist rdp-cookie X - X X rate-limit sessions X X X - redirect - X X X -reqadd (deprecated) - X X X -reqallow (deprecated) - X X X -reqdel (deprecated) - X X X -reqdeny (deprecated) - X X X -reqiallow (deprecated) - X X X -reqidel (deprecated) - X X X -reqideny (deprecated) - X X X -reqipass (deprecated) - X X X -reqirep (deprecated) - X X X -reqitarpit (deprecated) - X X X -reqpass (deprecated) - X X X -reqrep (deprecated) - X X X -- keyword -------------------------- defaults - frontend - listen -- backend - -reqtarpit (deprecated) - X X X retries X - X X retry-on X - X X -rspadd (deprecated) - X X X -rspdel (deprecated) - X X X -rspdeny (deprecated) - X X X -rspidel (deprecated) - X X X -rspideny (deprecated) - X X X -rspirep (deprecated) - X X X -rsprep (deprecated) - X X X server - - X X server-state-file-name X - X X server-template - - X X @@ -2782,7 +2761,7 @@ balance url_param [check_post] to determine if the parameters will be found in the body or entity which may contain binary data. Therefore another method may be required to restrict consideration of POST requests that have no URL parameters in - the body. (see acl reqideny http_end) + the body. (see acl http_end) - using a value larger than the request buffer size does not make sense and is useless. The buffer size is set at build time, and @@ -4110,16 +4089,6 @@ http-request [options...] [ { if | unless } ] There is no limit to the number of http-request statements per instance. - It is important to know that http-request rules are processed very early in - the HTTP processing, just after "block" rules and before "reqdel" or "reqrep" - or "reqadd" rules. That way, headers added by "add-header"/"set-header" are - visible by almost all further ACL rules. - - Using "reqadd"/"reqdel"/"reqrep" to manipulate request headers is discouraged - in newer versions (>= 1.5). But if you need to use regular expression to - delete headers, you can still use "reqdel". Also please use - "http-request deny/allow/tarpit" instead of "reqdeny"/"reqpass"/"reqtarpit". - Example: acl nagios src 192.168.129.3 acl local_net src 192.168.0.0/16 @@ -4195,7 +4164,7 @@ http-request auth [realm ] [ { if | unless } ] http-request cache-use [ { if | unless } ] - See section 10.2 about cache setup. + See section 6.2 about cache setup. http-request capture [ len | id ] [ { if | unless } ] @@ -4773,16 +4742,6 @@ http-response [ { if | unless } ] There is no limit to the number of http-response statements per instance. - It is important to know that http-response rules are processed very early in - the HTTP processing, before "rspdel" or "rsprep" or "rspadd" rules. That way, - headers added by "add-header"/"set-header" are visible by almost all further - ACL rules. - - Using "rspadd"/"rspdel"/"rsprep" to manipulate request headers is discouraged - in newer versions (>= 1.5). But if you need to use regular expression to - delete headers, you can still use "rspdel". Also please use - "http-response deny" instead of "rspdeny". - Example: acl key_acl res.hdr(X-Acl-Key) -m found @@ -4830,7 +4789,7 @@ http-response allow [ { if | unless } ] http-response cache-store [ { if | unless } ] - See section 10.2 about cache setup. + See section 6.2 about cache setup. http-response capture id [ { if | unless } ] @@ -5708,13 +5667,12 @@ monitor-uri at the HTTP level. This keyword may only be used with an HTTP-mode frontend. Monitor requests are processed very early, just after the request is parsed - and even before any "http-request" or "block" rulesets. The only rulesets - applied before are the tcp-request ones. They cannot be logged either, and it - is the intended purpose. They are only used to report HAProxy's health to an - upper component, nothing more. However, it is possible to add any number of - conditions using "monitor fail" and ACLs so that the result can be adjusted - to whatever check can be imagined (most often the number of available servers - in a backend). + and even before any "http-request". The only rulesets applied before are the + tcp-request ones. They cannot be logged either, and it is the intended + purpose. They are only used to report HAProxy's health to an upper component, + nothing more. However, it is possible to add any number of conditions using + "monitor fail" and ACLs so that the result can be adjusted to whatever check + can be imagined (most often the number of available servers in a backend). Example : # Use /haproxy_test to report haproxy's status @@ -5907,10 +5865,10 @@ no option checkcache (allowing other fields after set-cookie) If a response doesn't respect these requirements, then it will be blocked - just as if it was from an "rspdeny" filter, with an "HTTP 502 bad gateway". - The session state shows "PH--" meaning that the proxy blocked the response - during headers processing. Additionally, an alert will be sent in the logs so - that admins are informed that there's something to be fixed. + just as if it was from an "http-response deny" rule, with an "HTTP 502 bad + gateway". The session state shows "PH--" meaning that the proxy blocked the + response during headers processing. Additionally, an alert will be sent in + the logs so that admins are informed that there's something to be fixed. Due to the high impact on the application, the application should be tested in depth with the option enabled before going to production. It is also a @@ -6874,13 +6832,10 @@ no option redispatch connection failures. Of course, it requires having "retries" set to a nonzero value. - This form is the preferred form, which replaces both the "redispatch" and - "redisp" keywords. - If this option has been enabled in a "defaults" section, it can be disabled in a specific instance by prepending the "no" keyword before it. - See also : "redispatch", "retries", "force-persist" + See also : "retries", "force-persist" option redis-check @@ -7603,263 +7558,6 @@ redirect scheme [code ]