Forum Discussion
No iRule Match, No Default Pool
I have scoured the documentation and there is nothing that I can find that states with authority exactly what the F5 is going to do in this scenario. I have a virtual server defined that has no default pool defined. That is, the default pool is set to "None". The following iRule is defined for the virtual server:
when HTTP_REQUEST {
if {[HTTP::uri] starts_with "/xyz"} {
pool xyz_pool_80
}
}I then invoke the virtual server using http://myhost.mydomain.com/abc, where this URL is associated with the given virtual server. Since there is no default pool and it does not match the code defined in the iRule, what does the F5 do? Does it drop the request? Is there an error message logged? What get's returned to the user? 404? And if this is not using the HTTP protocol, how is this rejected?
1 Reply
- Kevin_Stewart
Employee
I think you'll find that in most cases the virtual server will simply reset the connection, with no log messages. There is simply is no response other than a TCP reset. From an event perspective, there's a CLIENT_ACCEPTED, an HTTP_REQUEST, and then an LB_FAILED event which is followed by a CLIENT_CLOSED event. From a wire perspective, you should see a full TCP handshake on the client side, the client PUSH some data (the HTTP headers), and then an immediate RESET from the virtual server (based on the LB_FAILED event). Again, this shouldn't generate any error messages in the logs unless you've specifically set something up to catch this. There are of course MANY ways to avoid this behavior, from reselecting from a different source to generating static HTML content.
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)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