On 16/07/2014 08:31 πμ, Baptiste wrote: > On Tue, Jul 15, 2014 at 7:14 PM, Pavlos Parissis > <[email protected]> wrote: >> On 15/07/2014 05:49 μμ, Baptiste wrote: >>> On Tue, Jul 15, 2014 at 12:40 AM, [email protected] <[email protected]> >>> wrote: >>>> Hi folks, >>>> >>>> >>>> I've a question regarding the ordering/processing of ACL's. >>>> >>>> >>>> >>>> Example (HAProxy 1.4.24): >>>> >>>> >>>> ---- >>>> >>>> frontend http_in >>>> . >>>> . >>>> >>>> >>>> acl is_example.com hdr_beg(host) -i example.com >>>> >>>> acl check_id url_reg code=(1001|1002|............) >>>> >>>> acl check_id url_reg code=(3000|4001|............) >>>> >>>> use_backend node01 if is_example.com check_id >>>> >>>> >>>> >>>> acl is_example.de hdr_beg(host) -i example.de >>>> >>>> acl check_id url_reg code=(6573|7890) >>>> >>>> use_backend node02 if is_example.de check_id >>>> >>>> >>>> ---- >>>> >>>> >>>> >>>> I assumed that the "check_id" - ACL from the second block wouldn't be >>>> combined/OR'ed with the 2 "check_id" - ACL's from the first block >>>> (because of the other configuration statements in between). >>>> >>>> >>>> >>>> But they are combined/OR'ed, is this behavior intended ? >>>> >>>> >>>> >>>> Thanks, >>>> ------------------- >>>> >>>> Bjoern >>>> >>> >>> Hi Bjoern, >>> >>> ACLs are processed only if they are called by a directive. >>> When many ACLs are called by a directive, an implicit logical AND is >>> applied. >>> an explicit logical OR can be declared as well >>> when a AND is applied between many ACLs, HAProxy stops processing them >>> as soon as one is wrong >>> when a OR is applied between many ACLs, HAProxy stops processing them >>> as soon as one is true >>> >>> some ACLs are cheaper to run than other, make your choice :) >>> >>> Side note, to avoid any mistake in your conf: >>> acl is_example.de hdr_beg(host) -i example.de >>> => this will match http://example.de/path/path/blah.php >>> or http://example.de.google.com/path/path/blah.php >>> >>> you might want to match this: >>> acl is_example.de hdr_end(host) -i example.de >>> >> >> >> Is URI part of Host header? >> >> Cheers, >> Pavlos >> >> >> > > Hi Pavlos, > > not at all, sorry for confusing.
I wasn't confused, just checking that there isn't any specific 'thing' in HAProxy which will add URI in the specific header, I never thought it will be such thing. > Your browser should split your URL in 2 parts: > - Host header containing the hostname of the service > - url path > > http://my.domain.tld/path will be sent as > > GET /path HTTP/1.1 > Host: my.domain.tld > > > Baptiste >
signature.asc
Description: OpenPGP digital signature

