Forum Discussion

TravisActon_133's avatar
TravisActon_133
Icon for Nimbostratus rankNimbostratus
Sep 14, 2013

Simple iRule for pool selection no longer working

We have had this iRule set for a very long time then suddenly it is no longer working. Can someone give it a glance over?

 

If a user goes to test.com we have it going to its default pool however if a user goes to test.com/DigitalAssetManagement than it goes to our digital pool. We have upgraded nearly a month early but this just stopped working today. Thanks for any insight or advice. iRule:

 

when HTTP_REQUEST { if { [HTTP::path] starts_with "/DigitalAssetManagement" } { pool digital } }

 

3 Replies

  • The iRule looks fine, but I would probably, at a minimum, enable a OneConnect profile and/or explicitly set the pool for each uri/path condition. Example:

    when CLIENT_ACCEPTED {
        set default_pool [LB::server pool]
    }
    when HTTP_REQUEST {
        if { [string tolower [HTTP::uri]] starts_with "/digitalassetmanagement" } {
            pool digital
        } else {
            pool $default_pool
        }
    }
    
  • Thanks for everyone looking into and discussing this. It's basically a service call coming off on of ours apps so no too concerned about case as user should never be explicitly going to unless its us debugging. Going to look at the condition for each app pool statement though, really could be useful. Still not sure why it just decided to stop working today. Going to get my head back down looking at it and update this thread when I've found the cause in case anyone else runs into this.