Yoav_Daniely_11
Feb 10, 2008Nimbostratus
HTTP Requests are being corrupted
Greetings,
I have a rule that changes the order of http headers in an http profile based VIP by removing and inserting the headers (pasted below)
I use BIG-IP 9.1.2 Build 40.2
For some reason, sometimes (cannot determine exactly when) the request gets corrupted which caused it to fail.
An example of such corruption is additional new lines in the HTTP headers and strange values (in the example below the referrer header, notice the if-modified-since header).
Please advice.
e.g a corrupted request:
GET http://wsp.o2active.cz/lava/siteSpecific/TO2/images/1_0_B_O2logo.gif HTTP/1.1
Host: wsp.o2active.cz
Referer: http://wap.yahoo.com/
If-Modified-Since: Mon, 28 Jan 2008 20:18:14 GMT
Cookie: LavID=hrMvHvPR6ctMQTV6!-393991407
Cookie2: $Version=1
TE: deflate, gzip, chunked, identity, trailers
X-Nokia-msisdn: +420720676037
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg,
image/gif, image/x-xbitmap, */*;q=0.1
Accept-Charset: wsp.o2active.cz
Referer: http://wap.yahoo.com/
Accept-Encoding: http://wap.yahoo.com/
If-Modified-Since:
User-Agent: NokiaN70-1/2.0536.0.2 Series60/2.8 Profile/MIDP-2.0 Configuration/CLDC-1.1
original request
GET http://wsp.o2active.cz/lava/siteSpecific/TO2/images/1_0_B_O2logo.gif HTTP/1.1
User-Agent: NokiaN70-1/2.0536.0.2 Series60/2.8 Profile/MIDP-2.0 Configuration/CLDC-1.1
Host: wsp.o2active.cz
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: en_US,en;q=0.9
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Referer: http://wap.yahoo.com/
If-Modified-Since: Thu, 07 Feb 2008 17:57:10 GMT
Cookie: LavID=C8JjHvRP1WJHvT75!725549565
Cookie2: $Version=1
TE: deflate, gzip, chunked, identity, trailers
Connection: keep-alive
X-Nokia-msisdn: +420720676837
IRULE
when HTTP_REQUEST {
foreach aHeader [HTTP::header names] {
if {not ( ( [string tolower $aHeader] eq "x-nokia-msisdn") or ([string tolower $aHeader] eq "x-forwarded-for" ))} {
log "before [HTTP::request]"
set value [HTTP::header value "Accept"]
HTTP::header remove "Accept"
HTTP::header insert "lws" "Accept" $value
set value [HTTP::header value "Accept-Charset"]
HTTP::header remove "Accept-Charset"
HTTP::header insert "lws" "Accept-Charset" $value
set value [HTTP::header value "Accept-Encoding"]
HTTP::header remove "Accept-Encoding"
HTTP::header insert "lws" "Accept-Encoding" $value
set value [HTTP::header value "User-Agent"]
HTTP::header remove "User-Agent"
HTTP::header insert "lws" "User-Agent" $value
log "after [HTTP::Request]"