Forum Discussion

h_elyot's avatar
h_elyot
Icon for Nimbostratus rankNimbostratus
Jun 18, 2019

Fallback Host Conditional Trigger

Hello F5 Community,

 

I have a separated "Sorry" page URL configured as a Fallback host in the profile settings of a Virtual Server. I would like to redirect HTTP/HTTPS traffic to this "Sorry" page only if a specific URI (http://my-virtual-server.com/probe) is not available. Is it possible via the profile settings or do I have to write an Irule?

And if so, could you please give guidance for writing that rule?

 

Kind regards

5 Replies

  • Hamish's avatar
    Hamish
    Icon for Cirrocumulus rankCirrocumulus

    I think you'll have to do an iRule

     

    The 'easiest' (But perhaps not most efficient) would be to

     

    1. Make a sideband connection to your URI you want ot check
    2. If the sideband worked, then just return - no action to take
    3. if the sideband didn't work, then send a redirect to your sorry page (Or if the sorry is on a pool select that pool or whatever)

     

    Now that's not going to be very efficient. That sideband connection will get awfully busy. But it's easy.

     

    A more efficient method would be to replace that wideband query with an explicit pool. And the monitor for the pool checks /probe. And do the redirect to sorry if the pool itself is offline.

    You can then add more bells and whistles as you require. But try to keep it simple. Simple things fail far less.

  • I would also advise of Hamish, creating a sorry-pool would be lot easier and monitoring the same URI as health check parameter would make your job easier. When this pool goes down, you take your action with an irule.

  • Thank you for your answers.

    I am also examining the possibility of using an HTTP Monitor that will send a GET to the /probe

      • h_elyot's avatar
        h_elyot
        Icon for Nimbostratus rankNimbostratus

        Hello,

         

        I tried first with an HTTP monitor, but that does not work.

        I am know trying the first solution proposed by Hamish, but I am not familiar with iRules.