Forum Discussion
Scott_McCool_11
Nimbostratus
Dec 14, 2006Feasibility/examples: pseudo-QoS based on header
As we work to add capacity to our website, one of the things we'd like to do is ensure that paying customers receive the best possible experience (at the expense of "public" users if need be). ...
hoolio
Cirrostratus
Dec 15, 2006Do you have rate shaping licensed? If so, check out this post for an example of how to set a rate class for specific requests (Click here)
Else, it should be fairly simple to send requests from one "class" of clients to a pool and send another set of clients to another pool.
The format for the rule would be:
check for first class of users
if { [HTTP::header some_header_name] contains "some string"]} {
log local0. "client [IP::client_addr] sent to best_pool"
pool best_pool
}
elseif { [HTTP::header some_header_name] contains "some other string"] }{
log local0. "client [IP::client_addr] sent to other_pool"
pool other_pool
}
else {
log local0. "client [IP::client_addr] sent to default_pool"
pool default_pool
}The log statements will be written to /var/log/ltm.
This post has a good example for identifying spiders using a class (datagroup in the GUI): Click here
And this post has a good explanation of how to identify spiders by the User-agent header: (Click here)
Keep in mind though, that a malicious client can send any header name and value they want, so you may not want to trust the header names and values explicitly...
Aaron
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
DevCentral Quicklinks
* 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
Discover DevCentral Connects
