On Tue, Apr 3, 2012 at 1:42 AM, Guillaume Demillecamps <
guilla...@multipurpose.be> wrote:

> Hello all,
>
>
> I am starting to hit some limitations in haproxy's configuration options !
> I have decided to use this product to sit in front of a cloud environment
> hosting several websites as I have used it many times for several years and
> have alays found it very, very efficient.
>
> At the moment I have over 20 hosted websites (much more might come in). So
> basically, at least as much ACL's for this (and actually much, much more).
> I do NOT want a default_backend. On the contrary, I need (security reasons)
> to block access excepted if the user comes with the correct http header
> (virtual hosting). I also have to grant access to the site


forgive me if i've not comprehended your requirements correctly, but could
you simplify your config by adding a default_backend that hosts all of the
non-authorized requests? this way the default_backend is a trash bucket
that hosts all the junk that your acl's haven't found a proper backend for
based on host header or src ip.

that backend could even be another haproxy frontend which simply blocks
everything coming in.


> to a restricted list of IP's (developer agencies) before an official
> go-live is set up for specific sites, or for some admin areas of those
> websites.
> So, in other words, I have one HUGE line with is a :
>   block unless is_website_01 || is_website02 || is_website_02 ||
> is_allowed_agency_01 || is_allowed_agency_02 ...
> Then follow the use_backend website_01 if is_website_01 (and potentially
> also if_allowed_agency_01)
>
> And... I have faced a limit of over 2047 chracters in one line, now !
>
> I tried to rewrite the ACL's list in this way :
>   acl is_website_01 www.website01.com (already existing)
>   acl is_website_02 www.website02.com (already existing)
>   acl is_all_allowed_websites is_website_01
>   acl is_all_allowed_websites is_website_02
>   acl is_allowed_agency_01 x.x.x.x (already existing)
>   acl is_allowed_agency_02 y.y.y.y (already existing)
>   acl is_all_allowed_agencies is_allowed_agency_01
>   acl is_all_allowed_agencies is_allowed_agency_02
>   block unless is_all_allowed_websites || is_all_allowed_agencies
>
> But apparently this approach is not possible in haproxy ?
>
> That leaves me with the only option of re-writing all ACL's twice, then...
>   acl is_website_01 www.website01.com (already existing)
>   acl is_website_02 www.website02.com (already existing)
>   acl is_all_allowed_websites www.website01.com
>   acl is_all_allowed_websites www.website02.com
>   acl is_allowed_agency_01 x.x.x.x (already existing)
>   acl is_allowed_agency_02 y.y.y.y (already existing)
>   acl is_all_allowed_agencies x.x.x.x
>   acl is_all_allowed_agencies y.y.y.y
>   block unless is_all_allowed_websites || is_all_allowed_agencies
>
> Is there no way to have the preferred option of re-using ACL's into
> another ACL's possible ?
>
> Many thanks !!
>
>
> Guillaume Demillecamps
>
>

Reply via email to