Forum Discussion
tarsier_90410
Nimbostratus
Sep 03, 2009HTTP::header trouble with Safari browser
I have an irule working for Firefox 3.x, IE7 and IE8, but when using Safari 4.0.3 (only version of Safari I have to test with) I see odd behavior. Note we are running BIG-IP 9.2.5 Build 5.1 (and it is a BIG deal to update it to newer versions)
I am using the LTM for SSL offload, so have been removing the Accept-Encoding header from all requests, as follows:
if { [HTTP::header exists "Accept-Encoding"] } { HTTP::header remove "Accept-Encoding" }
When the request is from Safari, I see this in the ltm log:
TCL error: Rule test_rule - Operation not supported (line 58) invoked from within "HTTP::header remove "Accept-Encoding""
Processing seems to stop at that point as far as the log files are concerned... BUT, some of the irule still gets executed as expected and returns content to the user (though it is not the correct content, as the HTTP_RESPONSE_DATA rule should be replacing the payload for this particular request.) Since there is nothing in the logs, I cannot determine why the rest of the rule is not working as it does for other browsers.
If I comment this line out, later on when forcing HTTP v1.0 to the server, I do this:
if { [HTTP::header is_keepalive] } {
Replace the connection header value with "Keep-Alive"
HTTP::header replace "Connection" "Keep-Alive"
}
but see this error:
TCL error: Rule test_rule - Operation not supported (line 70) invoked from within "HTTP::header replace "Connection" "Keep-Alive""
- Kevin_Stewart
Employee
Not sure about the reason for the error, but you can surround the header commands with a catch:if { [catch { HTTP::header remove "Accept-Encoding" } errmsg ] } { do nothing }
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