Forum Discussion

3 Replies

  • Assuming we're talking about HTTP you can specify a fallback host in the HTTP profile assigned to the VS. < As Kevin notes, this is wrong!

     

  • The thing is, if a virtual server is disabled, it will not accept a TCP connection, therefore it won't process any layer 7 traffic, and the HTTP fallback won't happen. It also won't trigger any iRule events. Here are a few options:

    1. Use a user_alert.conf script to detect when the VIP has been disabled and do something from the management shell, like send an alert, reconfigure the VIP, etc. In 11.4 you can use iCalls to do the same, which is a more flexible version of the above.

    2. Use a GTM to steer traffic to another VIP/service. The GTM's monitor would detect the VIP outage and act accordingly.

    3. This is a stretch, but create a wildcard port VIP with the same IP address, HTTP profile, no pool, and attach an iRule that only allows the given port and simply redirects the request. Example:

      when CLIENT_ACCEPTED {
          if { not ( [TCP::local_port] equals "80" ) } {
              drop
          } 
      }
      when HTTP_REQUEST {
          HTTP::redirect "http://www.yahoo.com"
      }
      

      You'll have two VIPs, the application VIP listening on the prescribed port and the wildcard VIP listening on the same IP but any port. Traffic will arrive at the VIP with the more specific definition, the app VIP, and be processed as usual. When that VIP is disabled, traffic will arrive at the wildcard VIP, which will only allow port 80 requests and will redirect that request accordingly. If this is an SSL app, you'll also need to apply the same client SSL profile to both VIPs.

  • Thanks everyone for your answers. I think we will be going down the GTM path to monitor the VIP and redirect when it is unavailable.