Re: Relayd, how to relay-to based on path

2015-01-04 Thread Harald Klimach
Hey,

thanks a lot for your kind reply, and sorry for this late answer.

 In the Paper Recent work in OpenBSD relayd from 2013 there is an
 example with: match request path /images relay-to 10.1.1.1
 Basically I need that and a second statement with
 match request path /app relay-to 10.1.1.2

 on case this was not answered yet:
 
 Use the following in your protocols section:
 
match request path /some/path/** forward to extratable
 
 You need something like
 
forward to extratable port www mode roundrobin \
check http / code 200 timeout 1000
 
 in your relay section as well.


This is great, it seems to work like a charm! My configuration now has two 
tables
defined rails and apache. In the protocols section, I have then

match request path /collab/** forward to rails
match request path /svn/** forward to apache
match request path /hg/** forward to apache

and in the relay section I got:

forward to apache port 
forward to rails port 8000

That was a nice holiday present, thank you!
Harald



Re: Relayd, how to relay-to based on path

2014-12-24 Thread Sebastian Benoit
Harald Klimach(har...@klimachs.de) on 2014.11.30 11:32:33 +0100:
 Hello,
 I am trying to substitute a nginx proxy by relayd and would like to
 forward connections to different backends, based on the path in the
 request.
 In the Paper Recent work in OpenBSD relayd from 2013 there is an
 example with: match request path /images relay-to 10.1.1.1
 Basically I need that and a second statement with
 match request path /app relay-to 10.1.1.2
 But, the relay-to option apparently is gone by now, and the filter
 need to be put into the protocol section. I tried to use to relays
 with the same listen on statement, but this results only in the
 second one overwriting the first one. Is it still possible with the
 new syntax to achieve conditional relays to different servers based
 on the request path? If so, how? I think, I somehow need to get
 some information from the protocol section into the relay to base the
 forward to decision on, but I have no clue how to achieve that.
 
 Thanks a lot for any pointers!
 Harald

Hi,

on case this was not answered yet:

Use the following in your protocols section:

match request path /some/path/** forward to extratable

You need something like

forward to extratable port www mode roundrobin \
check http / code 200 timeout 1000

in your relay section as well.

/Benno



Relayd, how to relay-to based on path

2014-11-30 Thread Harald Klimach
Hello,
I am trying to substitute a nginx proxy by relayd and would like to
forward connections to different backends, based on the path in the
request.
In the Paper Recent work in OpenBSD relayd from 2013 there is an
example with: match request path /images relay-to 10.1.1.1
Basically I need that and a second statement with
match request path /app relay-to 10.1.1.2
But, the relay-to option apparently is gone by now, and the filter
need to be put into the protocol section. I tried to use to relays
with the same listen on statement, but this results only in the
second one overwriting the first one. Is it still possible with the
new syntax to achieve conditional relays to different servers based
on the request path? If so, how? I think, I somehow need to get
some information from the protocol section into the relay to base the
forward to decision on, but I have no clue how to achieve that.

Thanks a lot for any pointers!
Harald