Forum Discussion

Ed_26015's avatar
Ed_26015
Icon for Nimbostratus rankNimbostratus
Jul 11, 2016

Presenting an unavailable webpage when pool is down (Thick Client)

Hi all,

 

Is there any way that I can present an 'application unavailable' web page in the event of the entire server pool being down when the application is presented as 'thick client' TCP using a login window?

 

The application uses port TCP 808 for connectivity yet monitors on port 80 for a specific service within the pool so take down the TCP808 port should the service fail on a server.

 

In the unlikely event of all three servers having their service fail, we would like to present a webpage to the user however logon is not via a browser window so would like to know if this is even possible?

 

thanks,

 

Ed

 

6 Replies

  • If you had a second monitor watching tcp/808, then the loss of that port would also take the pool member down.

     

    If there are no pool members available, then the virtual server will go down. However, if there's an irule attached to that server, which references another pool, the virtual server will remain up, even with no pool members. The thinking here is that the irule might send the traffic to another pool member that is still up, so we need to keep the virtual up, so that the irule gets a chance to run.

     

    So with that in mind, you could create an irule that looks at the number of members active, and redirects to another page or pool member if that is case. Probably something similar to this

     

    Of course this all depends on whether your application is smart enough to handle such a response in an intelligent way when you send it unexpected data.

     

  • Hi, You can add another node to your pool. This node may have this requirement : - This node refer to maintenance area (this specific check) - Have less priority than then other one (applicative nodes)

     

    Then all applicative nodes are down (by monitor test), maintenance node take the lead, and you application can show maintenance page. You can have multiple maitenance node (with the same priority value).

     

    I hope it can help you

     

  • I think wnat you may be after is the LB_FAILED event

    when LB_FAILED {
             Either all pool members are down OR the pool member selected has not responded
            HTTP::respond 503 content "Sorry your page is down" noserver Retry-After 300
            return
    }
    

    Alternatively if you happen to have the sorry page locally stored in an iFile;-

    when LB_FAILED {
             Either all pool members are down OR the pool member selected has not responded
            HTTP::respond 503 -version 1.1 content [ifile get "sorry_page_html"] noserver Content-Type "text/html;charset=utf-8" Server $server Retry-After 300 noserver
                return
    

    }

    • Ed_26015's avatar
      Ed_26015
      Icon for Nimbostratus rankNimbostratus

      Hi all,

       

      Thanks for your responses. These are all plausible solutions however, because of the thick client front end, I would also need to get the client PC to launch IE/Firefox/Chrome etc. the present this page. Is this achievable?

       

      Regards,

       

      Ed

       

    • IheartF5_45022's avatar
      IheartF5_45022
      Icon for Nacreous rankNacreous

      Can you configure you thick client to recognise the 503 response code and display it's own page (rather than the one delievred from the server/LTM)?

       

      I dodn't think you're going to get any answers from this forum about your client configuration - you'll need to discuss internally what your options are.

       

    • Ed_26015's avatar
      Ed_26015
      Icon for Nimbostratus rankNimbostratus

      Thanks IheartF5, I'll go back to the developer.