Forum Discussion
lkchen
Nimbostratus
Sep 15, 2008HTTPS passthrough & fallback
Last night we had an outage of a service that is HTTPS passthrough to a pool of servers (with port translation).
When the outage continued this morning, it was time to see about putting in a fallback redirect.
So, I found the iRule HTTPS_passthrough_fallback_URL (which I pasted in, and removed the log lines).
And, eventually got it working (hard part was tracking down the java key store and extracting the private key from it).
But, then some servers in the pool returned...but the redirect continued to happen. So, I had to revert the virtual server.
So, I'm wondering what needs to be done to get things to work for next time?
Lawrence
- hoolio
Cirrostratus
Hi Lawrence, - lkchen
Nimbostratus
Yes, the pool was marked green. And, at least for the location I was at, clients were still being redirected to the unavailable page. - hoolio
Cirrostratus
Persistence would only dictate which pool member the client would be sent to--it wouldn't affect the functioning of the rule.when CLIENT_ACCEPTED { log local0. "[IP::client_addr]:[TCP::client_port]: Received connection with active members: [active_members [LB::server pool]]" Check if there are members available in the VIP's default pool if {[active_members [LB::server pool]]}{ Disable the client SSL profile so the HTTPS traffic is passed through encrypted to the node SSL::disable Disable the HTTP profile as we're not going to redirect this request HTTP::disable log local0. "[IP::client_addr]:[TCP::client_port]: Members available" } } when HTTP_REQUEST { The HTTP_REQUEST event is only triggered if the pool members are down and the client SSL and HTTP profiles are left enabled Redirect the client HTTP::redirect https://maintenance.example.com Close the TCP connection so that the pool is checked for every HTTP request This should prevent clients from being continuing to be redirected after the pool comes up (which would happen if they re-used the same TCP connection). TCP::close log local0. "[IP::client_addr]:[TCP::client_port]: Redirecting request" }
- hoolio
Cirrostratus
Sorry, I had a copy/paste error there. The TCP::close command should be after the redirect as listed in the edited rule above.
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