Entire iRule:
when HTTP_REQUEST {
Save the requested host value
set host [string tolower [HTTP::host]]
Disable the stream filter by default
STREAM::disable
}
when HTTP_RESPONSE {
Check if response type is text and host isn't null
if {[HTTP::header value Content-Type] contains "text" and $host ne ""}{
Replace http://$host with https://$host
STREAM::expression "@https://$host@http://$host@"
Enable the stream filter for this response only
STREAM::enable
if { [HTTP::is_redirect] } {
HTTP::respond 302 Location [string map "https://$host http://$host" [HTTP::header Location]]
}
}
}