Forum Discussion

RobS's avatar
RobS
Icon for Altostratus rankAltostratus
Aug 19, 2013

Redirect https to https works in Firefox but not IE

We just moved our Kronos application behind our LTMs. We also added a cert for encrypted logon. Everything went well until I was told of the expectation of the DNS names to automatically redirect to the logon pages. There are 2 DNS entries, xxx which is the standard logon (matches cert name), and yyy which is a non-java logon page (does not match cert name). Both xxx and yyy are the same server, just different paths. To accomplish this I created 2 iRules. The 1st iRule to process looks for yyy and if it sees that name is does a redirect to the https://xxx/wfc/applications/wtk/html/ess/logon.jsp. This works fine for http requests, but only works correctly in Firefox for https requests which confuses me. In IE it goes to https://yyy and you get a cert error and no redirect. The 2nd iRule appends the rest of the path to the logon page for users going to http(s)://xxx.

1st iRule:

when HTTP_REQUEST { 
     Check for yyy
    if {[HTTP::host] contains "yyy"}{

HTTP::redirect "https://xxx/wfc/applications/wtk/html/ess/logon.jsp"
    }  
 }

2nd iRule:

when HTTP_REQUEST { 
     Check if path is /  
    if {[HTTP::path] eq "/"}{

        Rewrite path to /wfc/logon/
       HTTP::path "/wfc/logon/"
    }  
 }

In addition to the https redirect not working in IE, my other question would be if I should combine these iRules and, if so, what would be the best method.

Thanks, Rob

2 Replies

  • RobS's avatar
    RobS
    Icon for Altostratus rankAltostratus
    My apologies, I was wrong, Firefox doesn't redirect https to https either. I had to dump all my cache and history and then it stopped working. So we'll add site yyy as an alt name on the existing cert since it is the same server. My updated question would be how to rebuild the rule so that if a user requests http://xxx it appends "/wfc/logon" but if a user requests http://yyy it appends "/wfc/applications/wtk/html/ess/logon.jsp" instead? Thanks, Rob
  • Something like this:

    when HTTP_REQUEST {
        switch [string tolower [HTTP::host]] {
            "xxx" {
                if { [HTTP::uri] equals "/" } { 
                    HTTP::redirect "https://[HTTP::host]/wfc/logon"
                }
            }
            "yyy" {
                if { [HTTP::uri equals "/" } {
                    HTTP::redirect "https://[HTTP::host]/wfc/applications/wtk/html/ess/logon.jsp"
                }
            }
        }
    }