Hi,

OK, that is a very good explanation!

It's also very flexible in my opinion.

Does hsproxy give a reply/callback after adding/removing ? I'm not sure but
I thought it did.

I also did a reply-all this time, sorry for last time!

Cheers,

Matt


2014-05-23 14:07 GMT+02:00 Baptiste <[email protected]>:

> Hi Matt,
>
> I'm Ccing the ML since the answer can interest everybody here.
>
> > Thanks for you explanation... I found something indeed on the devel
> version
> > yesterday, you can also remove this way I saw ?
>
> yes, you can delete content from a map thanks to the socket or through
> information found in HTTP headers.
>
> > What do you mean by filecontents on reload ?
>
> I mean that the content of the map is read from a flat file.
> If you modify running map, HAProxy only updates its memory, not the flat
> file.
> So after a reload, if the flat file does not contain same content as
> HAProxy's memory, then updates are lost.
>
> > What I add this was is added to memory and not to the file ?
>
> exactly
>
> > So, I need to sync the file with the memory in some way ?
>
> yes.
> This can be done easily with a tool since you can dump a map content
> from HAProxy's socket.
>
> Baptiste
>
>
> >
> >
> > 2014-05-23 10:17 GMT+02:00 Baptiste <[email protected]>:
> >
> >> Hi Matt,
> >>
> >> You have to use HAProxy 1.5.
> >> You can load redirects from a map file.
> >> Map file content, 2 columns, with on the left the reference (what
> >> you're looking from in the client request) and on the right the
> >> response to send back.
> >> domain2.com subdomain.domain1.com
> >>
> >> Then, in your frontend, simply add:
> >> http-request redirect code 302 prefix
> >> http://%[req.hdr(host),map_str(map_redirects.lst)] if {
> >> req.hdr(Host),map_str(map_redirects.lst) -m found }
> >>
> >> Content of map_redirects.lst:
> >> domain2.com subdomain.domain1.com
> >>
> >> If the domain is not listed, then HAProxy will return a 503.
> >>
> >> Here are some results:
> >> GET http://127.0.0.1:8080/ -H "Host: domain2.com"
> >>
> >> HTTP/1.1 302 Found
> >> Cache-Control: no-cache
> >> Content-length: 0
> >> Location: http://subdomain.domain1.com/
> >> Connection: close
> >>
> >>
> >> GET http://127.0.0.1:8080/blah -H "Host: domain2.com"
> >>
> >> HTTP/1.1 302 Found
> >> Cache-Control: no-cache
> >> Content-length: 0
> >> Location: http://subdomain.domain1.com/blah
> >> Connection: close
> >>
> >>
> >>
> >> GET http://127.0.0.1:8080/ -H "Host: domain1.com"
> >>
> >> HTTP/1.0 503 Service Unavailable
> >> Cache-Control: no-cache
> >> Connection: close
> >> Content-Type: text/html
> >>
> >>
> >>
> >>
> >> The content of the map can be updated through the HAProxy socket or
> >> though HTTP headers.
> >> Read the manual to know how.
> >>
> >> Bear in mind HAProxy will reset its memory with the content of the
> >> file when reloading. So it's up to you to sync the memory of HAProxy
> >> and the content of the file.
> >>
> >> Baptiste
> >>
> >>
> >> On Thu, May 22, 2014 at 11:08 PM, Matt . <[email protected]>
> wrote:
> >> > Babtiste,
> >> >
> >> > I'm not able to find any solution to add such rewrites, am I looking
> >> > wrong ?
> >> >
> >> > Cheers,
> >> >
> >> > Matt
> >> >
> >> >
> >> > 2014-05-22 16:37 GMT+02:00 Matt . <[email protected]>:
> >> >
> >> >> Hi,
> >> >>
> >> >> That is nice, is that in the development version ? I didn't see it in
> >> >> 1.4
> >> >> as I'm right.
> >> >>
> >> >> I need to forward domain2.com to subdomain.domain1.com
> >> >>
> >> >> and subdomain.domain1.com may be a various of webservers that serve
> >> >> that
> >> >> content.
> >> >>
> >> >> Thanks!
> >> >>
> >> >> Matt
> >> >
> >> >
> >
> >
>

Reply via email to