Forum Discussion

Jeff_Brinkerho1's avatar
Jeff_Brinkerho1
Icon for Nimbostratus rankNimbostratus
Aug 24, 2016

Menthod to redirect based on DYNAMIC IP list from external source...

We have a situation that happens daily - certain browser and OS combination loops our login page uncontrollably. We have looked into the issue, and even modified our application to address 99% of the time. However we still get a few hundred of these a day, and they can loop 10K times in an hour. During very busy times this can cause undue load on our system. We then have the ultimate fallback, which is to manually add these to a data group list, and throw them over to a static page that tells them to close their browser and reboot.

Here's the simple rule we use:

when HTTP_REQUEST {
    if { [class match [IP::client_addr] equals ps_redirect_quarantine] } {
     HTTP::redirect "http://docs.xyz.com/docs/portal/browser_error.html"
    }
}

Once this is done, we remove the IP and carry on.

We have written a PL/SQL procedure on the back end to populate a table in our application database in realtime with the "offenders". What I want to do is find a way to get that data into the data group list. It does not have to be instant, once a minute would be sufficient. Even once every 5 would work.

I found a lot of people asking similar questions, and no real solutions. One suggested we may be able to "scrape" this from an html doc if we serve up the data that way. (We could do that) but how would I approach that on the irule side? Or if there is a simpler way.

Thanks in advance

3 Replies

  • Additional info:

     

    LTM4000, Big-IP 11.5.1 Build 5.0.147 hotfix HF5 running in an active/standby pair

     

  • Hamish's avatar
    Hamish
    Icon for Cirrocumulus rankCirrocumulus

    I can think of 2 options that would be quite quick

     

    1. Use iControl (SOAP or REST) to synchronise the IP's to your data group
    2. More useful. Use a sideband connection to check IP's and then push them into an in-memory table. You don't need them to stick around, because as you said you redirect to a static page telling them to restart their browser.

    H

     

  • If the issue is specific to certain OS & browser, can't you utilize header information to distinguish the OS & browsers and implement relevant actions ?