mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-04-11 03:31:36 +00:00
DOC: tcp-rules: Refresh details about L7 matching for tcp-request content rules
Because the parsing of HTTP message is now performed in the HTTP multiplexers, the content is immediatly available when "tcp-request content" rules are evaluated for an HTTP frontend. So, it is a good idea to make the documentation explicit on this point. In addition, because in all cases, the parsing is already performed, there is no reason to still use "tcp-request content" rules based on L7 matching, although it is still valid. The recommended way is to use "http-request" rules instead. Again, it is a good idea to update the documentation on this point.
This commit is contained in:
parent
7cea6065ac
commit
7ea509e15f
@ -11305,13 +11305,16 @@ tcp-request content <action> [{if | unless} <condition>]
|
|||||||
"track-sc*" actions as well as for changing the default action to a reject.
|
"track-sc*" actions as well as for changing the default action to a reject.
|
||||||
|
|
||||||
It is perfectly possible to match layer 7 contents with "tcp-request content"
|
It is perfectly possible to match layer 7 contents with "tcp-request content"
|
||||||
rules, since HTTP-specific ACL matches are able to preliminarily parse the
|
rules from a TCP proxy, since HTTP-specific ACL matches are able to
|
||||||
contents of a buffer before extracting the required data. If the buffered
|
preliminarily parse the contents of a buffer before extracting the required
|
||||||
contents do not parse as a valid HTTP message, then the ACL does not match.
|
data. If the buffered contents do not parse as a valid HTTP message, then the
|
||||||
The parser which is involved there is exactly the same as for all other HTTP
|
ACL does not match. The parser which is involved there is exactly the same
|
||||||
processing, so there is no risk of parsing something differently. In an HTTP
|
as for all other HTTP processing, so there is no risk of parsing something
|
||||||
backend connected to from an HTTP frontend, it is guaranteed that HTTP
|
differently. In an HTTP frontend or an HTTP backend, it is guaranteed that
|
||||||
contents will always be immediately present when the rule is evaluated first.
|
HTTP contents will always be immediately present when the rule is evaluated
|
||||||
|
first because the HTTP parsing is performed in the early stages of the
|
||||||
|
connection processing, at the session level. But for such proxies, using
|
||||||
|
"http-request" rules is much more natural and recommended.
|
||||||
|
|
||||||
Tracking layer7 information is also possible provided that the information
|
Tracking layer7 information is also possible provided that the information
|
||||||
are present when the rule is processed. The rule processing engine is able to
|
are present when the rule is processed. The rule processing engine is able to
|
||||||
|
Loading…
Reference in New Issue
Block a user