AnsweredAssumed Answered

How to get Layer 7 to forward query parameters and wild card routes to back end?

Question asked by Matthew_Moisen on Mar 7, 2017
Latest reply on Mar 8, 2017 by nyawe01

Hi Layer 7/CA API team,

 

I have a back end url similar to the following:

 

https://backend.com/api/

 

I have a Layer 7 front end URL similar to the following:

 

https://dmz.com/hello/goodbye/matthew/*

 

What I essentially want is for any thing in the wild card to be forwarded unconditionally to my back end; i.e:

 

https://backend.com/api/{$wildcard}*

 

So for example:

 

https://dmz.com/hello/goodbye/matthew/foo/bar/baz --> https://backend.com/api/foo/bar/baz

https://dmz.com/hello/goodbye/matthew/foo/?bar=baz --> https://backend.com/api/foo/?bar=baz

 

What I don't want to do is configure the legal hierarchy or the legal query parameter names upfront. I want Layer 7 to forward everything in the wildcard unconditionally to the back end no questions asked.

 

Does anyone know how I can make this happen?

 

----------

 

I saw another question here advising to use ${request.url.path}. I don't find it appropriate for two reasons: 1) it will end up forwarding to https://backend.com/api/hello/goodbye/matthew/foo/bar/baz for example; I could regex it out in the backend, but my backend can be accessed outside of Layer 7.  And 2) It doesn't pass along the query params.

 

The same link suggested using ${request.http.parameter.<name>} to get the query parameters, but this won't work for me because I want Layer 7 to pass back all query paremeters unconditionally to the backend without me having to specify upfront which are allowed or not.

 

Thanks and best regards,

 

Matthew

Outcomes