Forum Discussion

Tyson_James's avatar
Tyson_James
Icon for Altostratus rankAltostratus
May 12, 2016

Total Newbie needs help....

I am new to the F5 BIG IP LTM and have been asked to have it display a "maintenance" splash screen when all of the pools member servers are down.  This seems as though it is easy enough and I have found several examples on how to do this.  I am trying to follow the directions on this page : [link text](https://devcentral.f5.com/wiki/irules.ltmmaintenancepage.ashx/)  My issue is that when it says "copy the file" or "upload the image", I do not know how to do that in a Linux based interface.  I am trying to learn, but it is not fast enough for the results expected of me ( I am a Windows Sys Admin ).  Are there any "dumbed-down" instructions for someone just learning Linux.   Thanks.

7 Replies

  • Sorry, I do not know why my original post did not wrap the text. Reposting : I am new to the F5 BIG IP LTM and have been asked to have it display a "maintenance" splash screen when all of the pools member servers are down. This seems as though it is easy enough and I have found several examples on how to do this. I am trying to follow the directions on this page : [link text](https://clouddocs.f5.com/api/irules/ltmmaintenancepage.html/) My issue is that when it says "copy the file" or "upload the image", I do not know how to do that in a Linux based interface. I am trying to learn, but it is not fast enough for the results expected of me ( I am a Windows Sys Admin ). Are there any "dumbed-down" instructions for someone just learning Linux. Thanks.
  • Hello,

    This devcentral article is quite old. You have new options now. here is a little example :

    when CLIENT_ACCEPTED {
        set default_pool [LB::server pool]
    }
    
     display maintenance page if no pool members are available
    when HTTP_REQUEST {
        if { [active_members $default_pool] < 1 } { 
            HTTP::respond 200 content [ifile get "/Common/maintenance.html"] noserver "Content-Type" "text/html" "Cache-Control" "no-cache, must-revalidate" 
        }
    } 
    
     how to offload backend server error messages
    when HTTP_RESPONSE { 
     if {([HTTP::status] starts_with "404") } { 
       if { !([class match $method equals "http_method"]) } {
        HTTP::respond 404 content [ifile get "/Common/404.html"] noserver "Content-Type" "text/html" "Cache-Control" "no-cache, must-revalidate" 
       }
     } 
    } 
    
     display maintenance page when load balancing fail
    when LB_FAILED { 
      HTTP::respond 200 content [ifile get "/Common/maintenance.html"] noserver "Content-Type" "text/html" "Cache-Control" "no-cache, must-revalidate" 
    }
    

    You just have to upload your maintenance page as an ifile. here the link to ifile description : https://support.f5.com/kb/en-us/products/big-ip_ltm/manuals/product/bigip-system-irules-concepts-11-6-0/7.html?sr=53648987

    • Tyson_James's avatar
      Tyson_James
      Icon for Altostratus rankAltostratus
      Thanks so much!!!! This looks like something I can handle. Let me give it a try.
    • Tyson_James's avatar
      Tyson_James
      Icon for Altostratus rankAltostratus
      Yann, this worked wonderfully. I could not get it to use the [ifile get "/Common/filename.html"] so I went the ugly way and embedded the image I had as Base64 and that worked. Thanks.
  • Hello,

    This devcentral article is quite old. You have new options now. here is a little example :

    when CLIENT_ACCEPTED {
        set default_pool [LB::server pool]
    }
    
     display maintenance page if no pool members are available
    when HTTP_REQUEST {
        if { [active_members $default_pool] < 1 } { 
            HTTP::respond 200 content [ifile get "/Common/maintenance.html"] noserver "Content-Type" "text/html" "Cache-Control" "no-cache, must-revalidate" 
        }
    } 
    
     how to offload backend server error messages
    when HTTP_RESPONSE { 
     if {([HTTP::status] starts_with "404") } { 
       if { !([class match $method equals "http_method"]) } {
        HTTP::respond 404 content [ifile get "/Common/404.html"] noserver "Content-Type" "text/html" "Cache-Control" "no-cache, must-revalidate" 
       }
     } 
    } 
    
     display maintenance page when load balancing fail
    when LB_FAILED { 
      HTTP::respond 200 content [ifile get "/Common/maintenance.html"] noserver "Content-Type" "text/html" "Cache-Control" "no-cache, must-revalidate" 
    }
    

    You just have to upload your maintenance page as an ifile. here the link to ifile description : https://support.f5.com/kb/en-us/products/big-ip_ltm/manuals/product/bigip-system-irules-concepts-11-6-0/7.html?sr=53648987

    • Tyson_James's avatar
      Tyson_James
      Icon for Altostratus rankAltostratus
      Thanks so much!!!! This looks like something I can handle. Let me give it a try.
    • Tyson_James's avatar
      Tyson_James
      Icon for Altostratus rankAltostratus
      Yann, this worked wonderfully. I could not get it to use the [ifile get "/Common/filename.html"] so I went the ugly way and embedded the image I had as Base64 and that worked. Thanks.