Hi

I'm having trouble wrapping my head around what I belive is a really simple 
problem.

I've got a working HAProxy setup with a few listeners and a few backends and 
some ACL's that direct traffic accordingly.

Now I'm about to add a new backend for some function-testing in this setup, and 
I want to restrict what ends up there.

This is thinned down version of my configuration (oh, global or default-level 
ACL's be nice..):

---
global
...

defaults default
        mode http
        balance roundrobin

listen in-DK
        bind 127.0.0.1:4431

        acl acl_collector path_beg -f /etc/haproxy/collector_patterns.lst
        acl acl_collector hdr_sub(Referer) -f 
/etc/haproxy/collector_patterns.lst

        acl acl_webservice path_beg /services

        use_backend collectors if acl_collector
        use_backend webservice if acl_webservice

        default_backend admin

listen in-NO
        bind 127.0.0.1:4432

        acl acl_collector path_beg -f /etc/haproxy/collector_patterns.lst
        acl acl_collector hdr_sub(Referer) -f 
/etc/haproxy/collector_patterns.lst

        acl acl_webservice path_beg /services

        use_backend collectors if acl_collector
        use_backend webservice if acl_webservice

        default_backend admin

backend admin
        server admin1 172.27.80.36:8080 id 1 maxconn 500 check observe layer7

backend webservice
        server webservice1 172.27.80.37:8080 id 2 maxconn 500 check observe 
layer7

backend collectors
        server collector1 172.27.80.38:8080 id 3 maxconn 1000 check observe 
layer7
        server collector1 172.27.80.39:8080 id 4 maxconn 1000 check observe 
layer7
---

The file /etc/haproxy/collector_patterns.lst contains these 3 lines:
---
/collect
/answer
/LinkCollector
---

This new backend I want for testing (let's call it new_collectors) should 
recieve the traffic the existing ACL acl_collector directs to the backend 
collectors, but ONLY if that traffic comes from a certain IP or contains a 
certain HTTP header.

How do I manage that?

Regards,
Jens Dueholm Christensen


Reply via email to