Learn F5 Technologies, Get Answers & Share Community Solutions Join DevCentral

Filter by:
  • Solution
  • Technology

Internal Website BIG-IP LTM Compatibility Issue

Hello F5 Community -

I'm hoping to pick your big brains about troubleshooting an issue I'm having with the BIG-IP LTM. Forgive my ignorance, as I have not taken any of the F5 courses on the subject aside from the very introductory ones.

Issue: When I access the website directly, that is http://sitename - things work as expected. But when I access it by the VIP I created (I change my hosts file to point to the VIP so I can send the correct URL through the browser) - it works for 95% of the site. However, when I click on a PDF file (that lives on the web server, not the backend database the site uses) - Adobe Acrobat Reader complains that "There was an error opening this document. The file is damaged and could not be repaired." Using the statistics portion of the VIP, I can confirm that I'm transferring data over it.

The only discernable difference being the introduction of the F5 unit, and how it behaves like a proxy server.

How I'm configured * VIP is on the same subnet as the web server * Web server is NOT configured to use the F5 as its Gateway * Thus I have taken this to mean that I need to either use a SNAT or Automap * I am currently using Automap * Standard Traffic Type * Source is * Service port: 80 (everything is unencrypted) * TCP Profile: tcp * HTTP Profile: http * SNAT: Automap * Content rewrite: None for both Rewrite and HTML * Acceleration: all set to None for troubleshooting

Resources Tab * Pool - just contains 1 server * Persistence: none * iRules: _http_x_forwarded_for_insert * I added this, thinking it would help with the SNAT, but removing it does nothing

I'm trying to keep it as vanilla as possible, just to get it working.

Another thing, although these PDF files are hosted on the server, they are being served up as a ASPX call rather than a direct link.

For example:


Thank again for your time, guys. Steve

Rate this Question
Comments on this Question
Comment made 26-Apr-2016 by Greg Labelle 242
I would suggest creating a custom HTTP profile, and try setting "response chunking" to "rechunk". You can also leverage the HTTP Profile to insert the x-forwarded-for and eliminate the need for the iRule. Not sure if this will work or not, but with the basic setup fo the virtual server, it's the first thought I would have.
Comment made 26-Apr-2016 by Steven Levchenko 3
Thank you for the advice! I now know where to go for the x-forwarded-for HTTP profile setting that I will use in the future. As for the re-chunking, unfortunately I'm still getting the same message. I blasted out the cache in IE, still to the same result. Any other settings I can try?

Answers to this Question


It has to do with the way files are chunked when downloaded, and most web-based applications don't really account for this in the standard manner.

Workaround: In the HTTP profile for that virtual server, change Response Chunking to Rechunk and try again.

Comments on this Answer
Comment made 26-Apr-2016 by Steven Levchenko 3
Thank you for the quick response, Theo! Unfortunately I'm still getting the same error message. Now I'm also getting a mixture of "page cannot be displayed" on some of the other links. If it makes a difference, the web page is built on top of a CMS - a Content Management System developed by a group called Passageways. I've asked them for assistance, but they claim not to provide load balancer support. Thus, I'm hoping to shoehorn the BIG-IP in there anyways just to see if I can. Any other areas I can look? Thanks! Steve
Comment made 27-Apr-2016 by Theo 390
I think the next step is two-fold. 1) Set the logging level to debug and watch for any related messages to that VIP. The most common is a RFC2616 error, which is where the HTTP is non-standard and rejected by the F5. 2) Use a program like Fiddler or HttpWatch to monitor the client session and capture the headers regarding the link generated by the PDF and the call to the PDF itself--see if it's experiencing unexpected behavior (like calling the name of the server directly).