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

Filter by:
  • Solution
  • Technology
Answers

WAT without disable HTTP compression

Hi! As I understand, if you want to do in a Virtual Server WAT (Web Address Translation), for an instance to map the URL www.external.com to www.internal.com (rewriting links in the HTTP response if needed), you have to enable the STREAM Profile that means you have to disable HTTP Compression.

Is that true? Is there any way to rewrite the HTTP reponse body, without disabling compression between the web clients and the F5?

Thanks!

0
Rate this Question

Answers to this Question

placeholder+image
USER ACCEPTED ANSWER & F5 ACCEPTED ANSWER

Compressed data isn't readable, so you'd definitely have to decompress it. But for a STREAM profile in the HTTP_RESPONSE event, you only need to disable server side compression - between the BIG-IP and backend server. Client side compression is still very much a possibility, though it must be controlled and terminated at the proxy. In other words, HTTP compression would be between the clients and the client side of the BIG-IP. Server side HTTP would not be compressed.

0
placeholder+image
USER ACCEPTED ANSWER & F5 ACCEPTED ANSWER

Hi! As I understand you are right (compression must be disable only between F5 and the Backend server), but on all the iRules I'm seeing they have the following line in the HTTP_REQUEST:

HTTP::header remove "Accept-Encoding"

So compression is disabled at the Frontend... :(

0
placeholder+image
USER ACCEPTED ANSWER & F5 ACCEPTED ANSWER

Not at all. The HTTP_REQUEST is a client side ingress event - it's triggered from the client's HTTP request. So essentially what you're doing is removing the Accept-Encoding header from the request (if the client is sending it) to the server so that the server will not compress its responses.

0
placeholder+image
USER ACCEPTED ANSWER & F5 ACCEPTED ANSWER

Hi! Sure, but if the server doesn't compress the HTTP Response, will the F5 compress it against the web client?

Thanks!

0
placeholder+image
USER ACCEPTED ANSWER & F5 ACCEPTED ANSWER

That's why you have to control HTTP compression (and/or caching) at the F5. These are generally configured in HTTP profiles and optionally the Web Acceleration module (AAM). The default httpcompression profile will provide HTTP compression to the client (from the BIG-IP).

0
placeholder+image
USER ACCEPTED ANSWER & F5 ACCEPTED ANSWER

Great, so the HTTP Compression must be disable between F5 and the Backend Web Servers, but could be enabled between the Web Clients and the F5. That's not bad! :)

Thanks Kevin!

0