Hi have some problem: have HTTP and HTTPS VIPs (the same IP). So basically http working fine.
Problem with HTTPS. when i am accessing site https://www.site.com i access it as https (as expect) but when i pressing anything in it and going deeper, site becoming http. Maybe have idea what the problem can be?
By the way i am using the same pool for both VIPs. SSL terminated to LTM and LTM-serves going http on 80.
My guess is that the application generates links according to the protocol that the application was called on. So since the traffic between the BIG-IP and the server is http, the links become http instead of https. Either that or there are actually hard coded links in the application to http.
There are a few ways to deal with that - we could do a redirect of all http to https, but that will cause a lot of going back and forth between http and https by the client and isn’t a very pretty solution. A far more powerful solution is to use the BIG-IP to in essence do a search and replace of http://www.site.com to https://site.com in the responses from the server. For instance by way of the stream profile,
when HTTP_REQUEST { tell server not to compress response HTTP::header remove Accept-Encoding
disable STREAM for request flow
STREAM::disable
} when HTTP_RESPONSE {
catch and replace redirect headers
if { [HTTP::header exists Location] } {
HTTP::header replace Location [string map {"http://" "https://"} [HTTP::header Location]]
}
only look at text data
if { [HTTP::header Content-Type] contains "text" } {
create a STREAM expression to replace any http:// with https://
STREAM::expression {@http://@https://@}
enable STREAM
STREAM::enable
}
}
also exists 301 redirect iRule
when HTTP_REQUEST { if { [HTTP::uri] contains “*****" } { HTTP::respond 301 Location "https://w” } }
and maintenance page iRule.
By the way there are 2 web sites on the same server behind this VIP. And looks like one site performs well.
when HTTP_REQUEST { tell server not to compress response HTTP::header remove Accept-Encoding
disable STREAM for request flow
STREAM::disable
} when HTTP_RESPONSE {
catch and replace redirect headers
if { [HTTP::header exists Location] } {
HTTP::header replace Location [string map {"http://" "https://"} [HTTP::header Location]]
}
only look at text data
if { [HTTP::header Content-Type] contains "text" } {
create a STREAM expression to replace any http:// with https://
STREAM::expression {@http://@https://@}
enable STREAM
STREAM::enable
}
}
also exists 301 redirect iRule
when HTTP_REQUEST { if { [HTTP::uri] contains “*****" } { HTTP::respond 301 Location "https://w” } }
and maintenance page iRule.
By the way there are 2 web sites on the same server behind this VIP. And looks like one site performs well.
Normally http profile needs to apply when persitence or irule is applied to virtual server. Any persistence and irule is configured for vip 80. I will verify on my end and update you. I got similar issue few months back.
Normally http profile needs to apply when persitence or irule is applied to virtual server. Any persistence and irule is configured for vip 80. I will verify on my end and update you. I got similar issue few months back.
just got info from web server guys that performance issue should be because of pictures that sends out not compressed now, because of load balancer miss configuration.
they are saying i need bypass images, have any ideas what can be done toward that ?
Now in this discussion big mess. But i moving forward basicaly now need solve one more problem. After applying stream iRule that replace http to https in https web page svg format images not loading. So waiting for advice.