For more information regarding the security incident at F5, the actions we are taking to address it, and our ongoing efforts to protect our customers, click here.

Forum Discussion

Benjiman's avatar
Benjiman
Icon for Nimbostratus rankNimbostratus
Sep 20, 2019

URI Redirect with server pool condition

Hi Dev/central,

 

First of all, thanks for all of your assistance up until this point but I can't find anything to fit the bill on this one.

 

Description of the problem:

We have a single VS, which load balances a number of web applications via the LTM policy. We are using cookie persistence which is breaking one of our applications when chrome automatically requests /favicon.ico from the root directory when a new tab is opened. The larger problem will be resolved in work coming up but I'm looking for a quick fix as it's affecting users.

 

Essentially what I'm trying to achieve with an iRule is to redirect /favicon.ico to /other/favicon.ico, only when it's requested to a particular pool which I believe would look something like this, however it's not working.

 

when HTTP_REQUEST {

if { [[LB::server name] equals poolname] }{

  if { [string tolower [HTTP::host]] eq "www.website.com" and [HTTP::path] eq "/favicon.ico" } {

  HTTP::respond 301 Location "https://www.website.com/other/favicon.ico"

    }

}

 

Any help is greatly appreciated.

 

- Benjiman

2 Replies

  • Not seen above iRule. But you can try something like this.

    when CLIENT_ACCEPTED {
      if { ([llength [active_members -list poolname]] < 1) and ([HTTP::path] eq "/favicon.ico")  } {
      HTTP::respond 301 Location "https://www.website.com/other/favicon.ico"
             }
    }
    • Benjiman's avatar
      Benjiman
      Icon for Nimbostratus rankNimbostratus

      Hi Samir,

       

      Thanks for the quick response but unfortunately the iRule doesn't work. I received the following error when attempting to use it.

       

      01070151:3: Rule [/Common/ASID103898_pool_redirect] error: /Common/ASID103898_pool_redirect:3: error: [command is not valid in current event context (CLIENT_ACCEPTED)][HTTP::respond 301 Location "https://www.website.com/other/favicon.ico"]

      /Common/ASID103898_pool_redirect:2: error: [command is not valid in current event context (CLIENT_ACCEPTED)][HTTP::path]

       

      Could I please also clarify that there's an LTM policy that utilises a lot of pools on this VS, the iRule has to be specific to the current session, so that it doesn't impact the other VS connections.

       

      Thanks!