Forum Discussion

Nfordhk_66801's avatar
Nfordhk_66801
Icon for Nimbostratus rankNimbostratus
Aug 14, 2014

iRule redirect to HTTPS - Logical Error

Hi, I have a logical error in my iRule. We only want to encrypt specific URLs. We have a site that hosts multiple applications. Part One: http://websiteROOT/websiteA - websiteE redirect to their ...
  • Cory_50405's avatar
    Aug 14, 2014

    Well, that elseif as it's currently written will never match because you're converting the host to lowercase and then attempting to match it against a string with upper case characters (websiteROOT). I realize this is a sanitized iRule, but I just wanted to raise this point in case that is your issue. Try this one:

    when HTTP_REQUEST {
    
    if { [string tolower [HTTP::uri]] starts_with "/websiteA" } {
     pool pool_websiteA
    } elseif { [string tolower [HTTP::uri]] starts_with "/websiteB" } {
     pool pool_websiteB
    } elseif { [string tolower [HTTP::uri]] starts_with "/websiteC" } {
     pool pool_websiteC
    } elseif { [string tolower [HTTP::uri]] starts_with "/websiteD" } {
     pool pool_websiteD
    } elseif { [string tolower [HTTP::uri]] starts_with "/websiteE" } {
     pool pool_websiteE
    }
     else {
      HTTP::redirect "https://[HTTP::host][HTTP::uri]"
     }
    }