I don't see any errors in the LTM log. The SSL and HTTP profiles are there and working. I can connect and browse the site successfullly when I let the load balancer select where to send my connection. The problem only comes when I try to override persistence and select where I want my connections to go. When I do that, it works fine with http. When I try https I don't even get the log entry that I've set in the irule to indicate an http response.
I've pasted my irule below. I have other things in there as well, but for completeness I thought I had better post the entire thing.
when HTTP_REQUEST {
sets the timer to return client to host URL
set sectime 60
Use the Host header value for the responses if it's set. If not, use the VIP address.
if {[string length [HTTP::host]]}{
set host [HTTP::host]
set errhost1 [HTTP::host]
set errhost2 [HTTP::host]
} else {
set host [IP::local_addr]
set errhost1 "site"
set errhost2 "the site"
}
switch [HTTP::uri] {
"/maintenance" {
if { [active_members [LB::server pool] ] > 0 } {
HTTP::redirect http://$host
}
else { HTTP::respond 503 content "Maintenance page content=$sectime;url=http://$host>\
503 - Service temporarily unavailable
\
We are performing routine maintenance designed to improve your $errhost1 experience. \
We will have $errhost2 up again as soon as possible.
\
You will be automatically redirected to $errhost2 when it becomes available.
" "Content-Type" "text/html"
return
}
return
}
"/" {HTTP::redirect "http://$host"
log "Redirect /"
return
}
default {
If the pool is down, redirect to the maintenance page
if { [active_members [LB::server pool] ] == 0 } {
log "Server pool 0 active members"
HTTP::respond 200 content \
"
"}
}
}
log "server pool value:[LB::server pool]"
log "active members:[active_members [LB::server pool] ]"
if { [HTTP::cookie exists "F5NODEPERSIST"]} {
log "cookie F5NODEPERSIST value [HTTP::cookie F5NODEPERSIST]"
node [HTTP::cookie F5NODEPERSIST]
}
if {[HTTP::uri] contains "/F5SERVERSELECT"} {
set backendip [getfield [HTTP::uri] "&" 2]
set backendip [getfield $backendip "/" 1]
log "cookie persistence set"
HTTP::respond 200 content "Persistence cookie set until browser is closed or cookies are cleared" "Set-Cookie" "F5NODEPERSIST=$backendip; path=/"
return
}
if { [TCP::local_port] == 80} {
HTTP::redirect https://$host[HTTP::uri]
return
}
}
when HTTP_RESPONSE {
log "HTTP response sent"
HTTP::header insert SOURCE_ADDRESS [IP::server_addr]
}