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