Forum Discussion

Ken_Edgar's avatar
Ken_Edgar
Icon for Nimbostratus rankNimbostratus
Jul 14, 2020

application port number rewrite while keeping everything after port number

Hello,

I'm very novice with irules, so apologies if this has been answered before, I might need this to be spelled out better. I have a need to redirect a particular api endpoint to another port on the same vip, retaining everything after the port number. This needs to happen transparently with no redirect status codes.

For example, I'm doing an http post to http://stg-application.company.com:8081/api/taxServices/quotation, but that needs to redirect to http://stg-application.company.com:8084/api/taxServices/quotation. There is a json payload with this http post

I have different Virtual servers for each port (same LB ip different pools for each port)

VirtualServer1 - 10.13.99.10 - service port 8081

Pool1 - 2 members - port 8081

VirtualServer2 - 10.13.99.10 - service port 8084

Pool2 - 2 members - port 8084

iRule is applied to VirtualServer1

Here is one of my failed attempts, I think I'm missing something important:

when HTTP_REQUEST {
  if {([HTTP::uri] starts_with "/api/taxServices")} 
  {HTTP::header replace Host "http://stg-application.company.com:8084"}
}

1 Reply

  • I was able to do this with a profile thanks to the user guides and reading up on this page... ended up taking any requests for a specific uri string on the vip and forwarding the traffic to another vip. Appears to be functioning.