Last Modified: Apr 29, 2023
Affected Product(s):
BIG-IP LTM
Known Affected Versions:
11.4.1, 11.5.0, 11.5.1, 11.5.1 HF1, 11.5.1 HF10, 11.5.1 HF11, 11.5.1 HF2, 11.5.1 HF3, 11.5.1 HF4, 11.5.1 HF5, 11.5.1 HF6, 11.5.1 HF7, 11.5.1 HF8, 11.5.1 HF9, 11.5.10, 11.5.2, 11.5.2 HF1, 11.5.3, 11.5.3 HF1, 11.5.3 HF2, 11.5.4, 11.5.4 HF1, 11.5.4 HF2, 11.5.4 HF3, 11.5.4 HF4, 11.5.5, 11.5.6, 11.5.7, 11.5.8, 11.5.9, 11.6.0, 11.6.0 HF1, 11.6.0 HF2, 11.6.0 HF3, 11.6.0 HF4, 11.6.0 HF5, 11.6.0 HF6, 11.6.0 HF7, 11.6.0 HF8, 11.6.1, 11.6.1 HF1, 11.6.1 HF2, 11.6.2, 11.6.2 HF1, 11.6.3, 11.6.3.1, 11.6.3.2, 11.6.3.3, 11.6.3.4, 11.6.4, 11.6.5, 11.6.5.1, 11.6.5.2, 11.6.5.3, 12.0.0, 12.0.0 HF1, 12.0.0 HF2, 12.0.0 HF3, 12.0.0 HF4, 12.1.0, 12.1.0 HF1, 12.1.0 HF2, 12.1.1, 12.1.1 HF1, 12.1.1 HF2, 12.1.2, 12.1.2 HF1, 12.1.2 HF2, 12.1.3, 12.1.3.1, 12.1.3.2, 12.1.3.3, 12.1.3.4, 12.1.3.5, 12.1.3.6, 12.1.3.7, 12.1.4, 12.1.4.1, 12.1.5, 12.1.5.1, 12.1.5.2, 12.1.5.3, 12.1.6, 14.1.0, 14.1.0.1, 14.1.0.2, 14.1.0.3, 14.1.0.5, 14.1.0.6, 14.1.2, 14.1.2.1, 14.1.2.2, 14.1.2.3, 14.1.2.4, 14.1.2.5, 14.1.2.6, 14.1.2.7, 14.1.2.8, 14.1.3, 14.1.3.1, 14.1.4, 14.1.4.1, 14.1.4.2, 14.1.4.3, 14.1.4.4, 14.1.4.5, 14.1.4.6, 14.1.5, 14.1.5.1, 14.1.5.2, 14.1.5.3, 14.1.5.4
Fixed In:
13.0.0
Opened: Apr 11, 2016 Severity: 3-Major Related Article:
K44406003
A virtual server fails some requests where the response is served from cache.
Errors in certain Tcl commands or failed requests. These correlate to Conditions as follows: 1. If a virtual server has either SPDY or HTTP/2 enabled, it might fail requests that would normally be served from RAM cache. 2. An HTTP virtual server that has an iRule attached that responds to the HTTP_RESPONSE_RELEASE event might give errors to Tcl commands that attempt to access the response headers. 3. Certain filters and plugins that require access to the response headers might also fail in unexpected ways.
This might occur in any of the following circumstances: 1. -- Virtual server has either SPDY or HTTP/2 enabled -- Requests that would normally served from RAM cache. 2. -- HTTP virtual server has an iRule attached that responds to the HTTP_RESPONSE_RELEASE event. -- Tcl commands attempt to access the response headers. 3. Certain filters and plugins that require access to the response headers.
Disable CACHE via an iRule: when HTTP_REQUEST { if {[HTTP2::active]} { CACHE::disable } }
HTTP/2 and RAM Cache are now compatible, and documents served from cache always have accessible headers now. Note: This change introduces a formatting variance in the response headers. Now, certain header values are right justified, where previously, they were left justified. This includes the Age and Content-Length headers, though the Connection header remains left justified. Here is an iRule to remove this white space on cache service: when HTTP_RESPONSE_RELEASE { set age_val [string trim [HTTP::header value Age]] set con_len [string trim [HTTP::header value Content-Length]] HTTP::header remove Age HTTP::header remove Content-Length HTTP::header insert Age "$age_val" HTTP::header insert Content-Length "$con_len" }