Re: match two conditions in relayd(8)

2020-01-28 Thread Joel Carnat
On Mon, Jan 27, 2020 at 09:22:40PM +0100, Sebastian Benoit wrote:
> Joel Carnat(j...@carnat.net) on 2020.01.27 18:21:43 +0100:
> > Hi,
> > 
> > I'm setting up an HTTP(S) Reverse Proxy with relayd(8).
> > 
> > I have one listener with multiple FQDN allowed.
> > But I also have a common path that must be treated separately.
> > 
> > As for now, I have:
> > http protocol "https" {
> >   match request header "Host" value "one.domain.local" forward to 
> >   match request header "Host" value "two.domain.local" forward to 
> >   match request path "/common/*"   forward to 
> > }
> > relay "domain.local" {
> >   listen on egress port 443 tls
> >   protocol "https"
> >   forward toport 80 check tcp
> >   forward toport 80 check tcp
> >   forward to  port 80 check tcp
> > }
> > 
> > With this configuration, both "/common/" are rendered by .
> > But I want
> >   "one.domain.local/*"   to be rendered by 
> >   "one.domain.local/common/" to be rendered by 
> >   "two.domain.local/*"   to be rendered by 
> >   "two.domain.local/common/" to be rendered by 
> > 
> > Is there some way to achieve this?
> 
> Try using "quick" or possibly "tag" and "tagged".
> 
> /Benno
> 
tag/tagged seem to do the trick.

Thanks a lot!



Re: match two conditions in relayd(8)

2020-01-27 Thread Sebastian Benoit
Joel Carnat(j...@carnat.net) on 2020.01.27 18:21:43 +0100:
> Hi,
> 
> I'm setting up an HTTP(S) Reverse Proxy with relayd(8).
> 
> I have one listener with multiple FQDN allowed.
> But I also have a common path that must be treated separately.
> 
> As for now, I have:
> http protocol "https" {
>   match request header "Host" value "one.domain.local" forward to 
>   match request header "Host" value "two.domain.local" forward to 
>   match request path "/common/*"   forward to 
> }
> relay "domain.local" {
>   listen on egress port 443 tls
>   protocol "https"
>   forward toport 80 check tcp
>   forward toport 80 check tcp
>   forward to  port 80 check tcp
> }
> 
> With this configuration, both "/common/" are rendered by .
> But I want
>   "one.domain.local/*"   to be rendered by 
>   "one.domain.local/common/" to be rendered by 
>   "two.domain.local/*"   to be rendered by 
>   "two.domain.local/common/" to be rendered by 
> 
> Is there some way to achieve this?

Try using "quick" or possibly "tag" and "tagged".

/Benno



match two conditions in relayd(8)

2020-01-27 Thread Joel Carnat
Hi,

I'm setting up an HTTP(S) Reverse Proxy with relayd(8).

I have one listener with multiple FQDN allowed.
But I also have a common path that must be treated separately.

As for now, I have:
http protocol "https" {
  match request header "Host" value "one.domain.local" forward to 
  match request header "Host" value "two.domain.local" forward to 
  match request path "/common/*"   forward to 
}
relay "domain.local" {
  listen on egress port 443 tls
  protocol "https"
  forward toport 80 check tcp
  forward toport 80 check tcp
  forward to  port 80 check tcp
}

With this configuration, both "/common/" are rendered by .
But I want
  "one.domain.local/*"   to be rendered by 
  "one.domain.local/common/" to be rendered by 
  "two.domain.local/*"   to be rendered by 
  "two.domain.local/common/" to be rendered by 

Is there some way to achieve this?

Thank you.