Applies To:
Show VersionsBIG-IP AAM
- 12.1.5, 12.1.4, 12.1.3, 12.1.2, 12.1.1, 12.1.0, 11.6.5, 11.6.4, 11.6.3, 11.6.2, 11.6.1
Proxying Requests and Responses
Overview: Proxying rules
In general, the BIG-IP system attempts to service all HTTP requests from the system's cache. However, if you have certain types of content that you do not want the BIG-IP system to service from the system's cache, you can configure proxying rules. Using proxying rules, you identify HTTP request elements that prompt the BIG-IP system to send a request to your origin web servers for content.
You configure proxying rules from the proxying screen.
Always proxying requests for a node
When the BIG-IP system matches a request to a node that has the Always proxy requests for this node setting enabled, it sends the request to the origin web server, and responds to the request without caching the content. This option overrides any configured proxying rule, and is useful for specific content that is private.
You can, if necessary, specify objects for the BIG-IP system to cache by defining Proxy Override Rules, thus eliminating a 304 (Not Modified) response from the origin web server for a conditional request. Any objects defined by Proxy Override Rules, however, should no longer be considered private.
Configuring proxy rules for a node
Overriding proxy requests
About creating the example proxying rule
In the example for this site, you have three top-level nodes on the Policy Tree as follows:
- Home. This branch node specifies the rules related to the home page.
-
Applications. This branch node specifies the rules related to the
applications for the site, with the following leaf nodes:
- Default. This leaf node specifies the rules related to non-search related applications.
- Search. This leaf node specifies the rules related to your site’s search application.
- Images. This branch node specifies the rules related to graphics images.
For this example, you use a segment parameter to contain identifying information for your shopping cart application. Requests for your applications are all in the following form:
http://www.example.com/apps/doSomething.jsp;AAy23BV39
If the session tracking string does not appear in the segment parameter at the end of the URI, you want the BIG-IP system to send the request to the origin web servers for special handling. Create a proxying rule for your Applications node with just one parameter based on the path segment data type. This rule should identify the subject as being path ordinal 1 in the full path, as counted from right to left.
You set this rule to go into effect if the parameter value is an empty string or if the parameter is absent from the request.
Configuring the example proxying rule
About configuring the proxying rule parameters example
You define a parameter for proxy rules by specifying a parameter identity and its value, which must appear in a request for the BIG-IP system to send it to the origin web server for content.
For example, if you create a proxy rule based on a cookie named version, the BIG-IP system sends the request to the origin server if one of the following conditions is true:
- The version cookie does not appear on the request.
- The version cookie appears on the request, but has no value set for it (version is empty).
Creating the example proxying rule parameters
When defining parameters for proxy rules, you identify the parameter and its value that must appear in a request, for the BIG-IP system to send it to the origin web server for content.
For example, if you create a proxy rule based on a cookie named version, the BIG-IP system sends the request to the origin web server if one of the following conditions is true:
- The version cookie does not appear on the request.
- The version cookie appears on the request, but has no value set for it (version is empty).
About configuring the example proxy override rule
One common application for proxy override rules is for sites that receive a high volume of traffic related to web crawlers and robots clients. You can avoid having your origin web server manage this excessive traffic by configuring a proxy override rule. It is especially important to consider a proxy override rule for this application if your proxy rules are based on a set cookie, because web crawlers and robots rarely present cookies in their requests.
Before configuring the rule, you could examine the origin server’s log files to see if the web crawler presents a specific a string that you can use for a proxy override rule. For example, the web crawler might present a string for the HTTP USER_AGENT request header that looks very much like the value presented for MSIE 5.0 browsers. However, the web crawler adds badcrawler to the HTTP USER_AGENT string. For this example, you use a proxy override rule for the node’s proxying rule, based on the user agent parameter to match the regular expression .*badcrawler.*.
When the BIG-IP system finds the user agent with this regular expression in an HTTP request, it services the request from cache, even if the matched proxying rule dictates that the BIG-IP system should send the request to the origin server.
Once you publish the acceleration policy, the BIG-IP system attempts to service, from cache, all requests that it receives with a HTTP USER_AGENT value that matches .*badcrawler.*, regardless of any proxy rules that the request matches.