Forum Discussion
Amitabha_118500
Nimbostratus
Jun 17, 2014LTM Maintenance Page - HTTPS
Hi DevCentral Experts,
I have a performance layer 4 HTTPS Virtual server.
I would like to serve a custom page when all pool members are down. What are my options?
I see that we can use F5 L...
Cory_50405
Noctilucent
Jun 18, 2014If you aren't terminating the SSL on the LTM, then you aren't going to be able to provide a direct maintenance page response. You can however direct client traffic to another pool in the event the one assigned to your virtual server has no available members. Ideally this maintenance_pool would contain one or more members that would serve up your maintenance page. Something like this:
when CLIENT_ACCEPTED {
if { [active_members [LB::server pool]] < 1} {
pool maintenance_pool
}
}
Terminating SSL will give you a wealth of additional options, if that's a possibility for you.
- Amitabha_118500Jun 18, 2014
Nimbostratus
Thanks Cory. Your suggestion would work great. Thanks. - Amitabha_118500Jun 19, 2014
Nimbostratus
when CLIENT_ACCEPTED { if { [active_members [LB::server pool]] < 1} { pool maintenance_pool } } Hi Cory, I have tried the iRule you provided and another similar iRule not working. I had the server admin shut down all the pool member. The Virtual server is showing "up" when I have the iRule attached to the VS. It's showing "down" when the iRule is disassociated. However when the iRule is associated, the load balance to maintenance page does not work. Does the maintenance page has to be listening on the same port as the main server? when CLIENT_ACCEPTED { if { [active_members [LB::server pool]] == 0} { pool maintenance_pool } } - Cory_50405Jun 19, 2014
Noctilucent
The pool members you define in the maintenance_pool will determine which port the communications will be sent to. As long as your maintenance_pool members are listening on that port, then a page should be served. You may need to change the virtual server type to standard in order to make this work though. - Amitabha_118500Jun 19, 2014
Nimbostratus
Okay. I just tested it on another webserver. Basically, the maintenance page has to be listening on the same port using the same protocol as the failed main server pool. Thanks. - Amitabha_118500Jun 19, 2014
Nimbostratus
Hm...In my case, the VIP is serving https://example.com:8443 and the main pool members are 8443 too. When I configured the maintenance pool on port 80, it doesn't work. I changed the VS type to standard. I tested a VIP with port 80, it works. In theory, F5 should be able to load balance to port that's different from the VIP, right? It would be great if we can use one maintenance on port 80 that can serve all webservers no matter what port they are using. What do you think the issue would be? - Cory_50405Jun 19, 2014
Noctilucent
Your pool should be serving SSL since you aren't terminating it on your virtual server. Port doesn't necessarily matter.
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects