The answer would seem to be a matter of what I like to call "the proxy effect". In short, your application is quite probably not designed to understand that a proxy can sit in front of it. In most cases that means that the application is spitting out absolute URLs in HTTP redirects and in document object references (images, script, etc.). You're getting to the main page fine, but then any information sent back to the client from the server has an absolute URL reference to (instead of There are a number of ways to address this, each dealing with different aspects of the problem. Let's start with the redirects. If it's a simple of matter of changing http:// to and the rest of the URL is correct, then you can simply enable the Redirect Rewrite in the HTTP profile. This will catch any http:// 30x redirects from the server and rewrite them to The following iRule will do basically the same thing:
when HTTP_RESPONSE {
if { ( [HTTP::header exists Location] ) and ( [HTTP::header Location] contains "http://" ) } {
HTTP::header replace [string map -nocase {"http://" "https://"} [HTTP::header Location]]
}
}
If the URL returned by the server is actually different as well, then you'd need to modify the iRule above to replace on URL for the other. You haven't mentioned anything about HTML content rendering, so I'll leave it at HTTP header management for now. Give this a shot and let us know.