Forum Discussion
bianster_9734
Nimbostratus
Sep 01, 2010Missing HTTP response headers from BigIp LTM
I have an nginx webserver sitting behind a BigIP LTM. The nginx server
receives long-poll HTTP requests from clients and return a response that
contains caching headers (Etag/Last-Modified) that are used for the
proper functioning of the long-poll system. The problem that I'm facing
is that long poll requests to a virtual server with a public IP do not
have the 2 headers in the response. The headers are in the first
response but subsequently do not get included. The "date" response
header is also incorrect as it's several hours earlier than what I'm
expecting.
I also tested by making the requests to the internal IP assigned to the nginx server and the headers do get included in each response as expected. So I'm thinking the virtual server configuration has something to do with it but I'm not sure where the fault lies.
- bianster_9734
Nimbostratus
More information on Virtual Server setup: - Hamish
Cirrocumulus
There is caching on the F5, but the profile you're using doesn't have it enabled as default. Is it possible someone has enabled RamCache in the http-wan-optimised-compression profile? (Although I'm not sure it would remove those 2 headers, but if your backends aren't getting the request, but you are getting a response there's not many other places the request could be going). - bianster_9734
Nimbostratus
I'm quite sure that profile has ram cache disabled. Does the fact that the connections to the VIP have to be long standing/lived play a part? I've considered using NAT to allow direct access to the server but I kind of need to use iRules to disallow requests to a specific URI on the VIP. - bianster_9734
Nimbostratus
After mucking around with tcpdump on the web server and the client machine, I've come to the conclusion that the "If-Modified-By" request header is somehow "lost" when the request hits the VIP. I've checked that the Max Header Size is 32KB (which covers my use-case comfortably). What's going on?? - bianster_9734
Nimbostratus
Anyway, I worked around this by introducing a custom header ("X-If-Modified-By") that doesn't get truncated and an iRule on the VIP inserts the real ""If-Modified-By" header with ""X-If-Modified-By"'s value. The custom header is then removed before the request hits the OWS.
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