On Wed, May 19, 2010 at 04:49:02PM -0700, Chih Yin wrote:
> Hi Mariusz,
> 
> On Wed, May 19, 2010 at 2:18 PM, Mariusz Gronczewski <xani...@gmail.com>wrote:
> 
> > One more thing about config, u dont need to do
> >     acl is_msn01    hdr_sub(X-Forwarded-For) 64.4.0
> >     acl is_msn02    hdr_sub(X-Forwarded-For) 64.4.1
> >     acl is_msn03    hdr_sub(X-Forwarded-For) 64.4.2
> > and then
> >   use_backend robot_traffic if is_msn01 or is_msn02 or is_msn03
> >
> > u can just do
> >     acl is_msn    hdr_sub(X-Forwarded-For) 64.4.0
> >     acl is_msn    hdr_sub(X-Forwarded-For) 64.4.1
> >     acl is_msn    hdr_sub(X-Forwarded-For) 64.4.2
> >
> > and then
> >  use_backend robot_traffic if is_msn
> >
> > ACLs with same name are automatically ORed together.
> >
> > or better yet, match bots by user-agent not by IP
> > http://www.useragentstring.com/pages/useragentstring.php
> >
> >
> Thank you so much.  This is definitely helpful!

Also, since 1.3.21 you have the "hdr_ip" ACL which can parse
IP addresses from headers. What that means is that instead of
doing sub-string matching, you can match networks, which is
faster and allows globbing. For instance :

     acl is_msn    hdr_sub(X-Forwarded-For) 64.4.0
     acl is_msn    hdr_sub(X-Forwarded-For) 64.4.1

can be replaced by :

     acl is_msn    hdr_ip(X-Forwarded-For) 64.4.0.0/15

And with 1.4.6, you'll even be able to fill all known networks
in a file and load them in one line :

     acl is_msn    hdr_ip(X-Forwarded-For) -f /etc/haproxy/msn_networks.txt

Willy


Reply via email to