F5 BigIP LTM – iRule Accept Only UserAgent to Hostname
The following code snippet assumes you have a wildcard virtual host within the F5 LTM device, and that you wish to only allow traffic into that virtual host if a specific user agent string is matched and that the hostname is matched.
when HTTP_REQUEST {
if {{ [class match [HTTP::header "User-Agent"] = "Browser 2.1.0"] } and { ([string tolower [HTTP::host]] starts_with "subdomain.domain.com") }} {
return
} else {
drop
}
}
It should be modified to suit your specific requirements.