Forum Discussion
iRule or LTM Policy to pre-fix desired www. sites
What is the reason in your example that https://abc.com doesn't work? Is it because there isn't a DNS-record? In that case you could use the RESOLVER::name_lookup to see if it's a valid record. If not, add www. to it.
To be honest I'm not sure. I do see that abc.com and www.abc.com resolves differently but I feel like its something to do on Akamai as the traffic hits there before it gets directed to the F5 VS.
Looking at this more, http://abc.com, http://www.abc.com and https://www.abc.com all work. Just not https://abc.com nor does it redirect.
- Oct 24, 2023
Okay, then it seems abc.com and www.abc.com are different sites and abc.com isn't configured to handel HTTPS traffic. In that case you are probably better of using two datagroups. One datagroup that lists all allowed hostnames and another that contains hostnames that should be excluded from having put www. to it. Then let the iRule decide if it's allowed and/or it's needs to be modified with the start of www.
- DoubleJzOct 24, 2023Nimbostratus
Understood. I created a new datagroup Datagroup_exclude and placed the subdomain sites in it. I guess I went full circle back to my original question now though. How would you go about checking to see if it needs to be modified with www and exlude those in the new datagroup?
- Oct 25, 2023
What about this solution? Use the same Datagroup1, and define the allowed hosts as 'strict' if they shouldn't be modified by the iRule. In the example below 'nielske.nl' isn't allowed to be modified.
And use Datagroup1 with the following iRule.
when HTTP_REQUEST { if { [class match [HTTP::host] equals Datagroup1] } { if { !([HTTP::host] starts_with "www.") && !([class lookup [HTTP::host] Datagroup1] equals "strict") } { log local0. "[HTTP::host] doesn't starts_with www. and isn't defined as strict; redirect allowed" HTTP::redirect "https://www.[HTTP::host][HTTP::uri]" } } else { HTTP::respond 403 } }
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com