Forum Discussion
8 Replies
- JGCumulonimbus
The fallback server (in http profile) should be able to handle this.
- JGCumulonimbus
However, the redirect solution leaves much to be improved. You can implement an irule to read from an ifile to avoid any redirect, so the end-user can simply do a page reload to check if the site back up again.
This has been such an FAQ and use case that it warrants a feature request to F5.
- marco_octavian_Nimbostratus
Try this untested iRule.
when HTTP_REQUEST { if { [active_members [LB::server pool]] == 0 } { HTTP::respond 400 content "Bad Request page\ 400 - The request could not be understood by the server due to malformed syntax. \ " "Content-Type" "text/html" return } }
- JGCumulonimbus
You probably want to add some cache control directives to prevent the 400 page from being cached by any means.
- marco_octavian_Nimbostratus
Scratch that first irule. It was untested and has flaws. I agree with Jie about the no-cache. Give this one a try.
when HTTP_REQUEST { if { [active_members [LB::server pool]] == 0 } { HTTP::respond 400 content " Bad Request page 400 - The request could not be understood by the server due to malformed syntax. " Cache-Control No-Cache Pragma No-Cache" } }
- hooleylistCirrostratusNice solution Marco. You could replace the ""s with {} around the content to avoid having to escape any meta-characters in the fuller HTML that an admin might use: HTTP::respond 400 content {...} header1 value1 headerN valueN
- Kiran_KumarNimbostratusMarco, Thanks very much for your solution. Could you please advise how to make sure that the client doesnt know that its my F5 that sends this message. In other words, I dont want the client to be aware of my F5, can we put some dummy server name. If so how do we get it accomplished as part of the above solution. I am new to F5 iRule coding, so need your help if you have any suggestions. Thanks again for you and all the friends who responded to my question.
- Colin_Walker_12Historic F5 Account
HTTP Status 400 pages shouldn't be cached, if clients are acting appropriately. You know, since all web clients always response exactly according to RFCs right? Right??
Still...not a terrible idea to force said behavior. Good call, Jie. ;)