Forum Discussion
James_Wrubel_48
Mar 06, 2006Nimbostratus
Removing Pragma header on https response
I have a very unusual problem that I hope an iRule can solve. Our F5 BigIP does SSL acceleration and load balancing for a pair of servers running Macromedia's Breeze product. We have a custom UI written in Flash that runs on a different server not managed by the F5. The custom UI calls the Breeze API to load and present data. There is an obscure 'bug' in IE that is causing problems, and I wonder if an iRule can provide a workaround.
The deal is that when a user makes a request for data in the Flash UI, Flash tells IE to go get the data from the Breeze server, which passes through the F5. The F5 returns the data, which is XML, back to IE. IE sees the following headers:
HTTP/1.0 200 OK
Date: Mon, 06 Mar 2006 14:38:30 GMT
Expires: now
Content-Type: text/xml
Set-Cookie:
Connection: close
Pragma: no-cache
Cache-Control: no-cache
Server: JRun Web Server
Because of the expires, pragma, and cache-control headers, IE actually expires the content instead of handing it back to Flash. Microsoft has a patch available for this, but it is far easier for us to try and solve this with an iRule than to get our entire user base to download and isntall a patch.
So the pseudocode I would like to implement is,
If request includes the string /api/xml and user-agent = IE, remove header Expires, remove header Pragma, replace header Cache-Control with Cache-Control: no-store
This rule seems close:
http://devcentral.f5.com/weblogs/joe/archive/2005/10/19/1527.aspx
Here is the Microsoft Support page for this issue:
http://support.microsoft.com/kb/815313/
- JRahmAdminJust modifying Joe's blog entry yields this for your requirements:
when HTTP_REQUEST { set foundmatch 0 if { ([HTTP::uri] contains "/api/xml/") and ([HTTP::header "User-Agent"] contains "")} { set foundmatch 1 } } when HTTP_RESPONSE { if {$foundmatch == 1} { HTTP::version "1.1" HTTP::header remove Pragma HTTP::header replace Cache-Control no-store HTTP::header remove Expires } }
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