I have a question about decompressing a gzipped server response.
Looking at the irules wiki under global there is DECOMPRESS::enable (request | response) that was introduced in BIGIP-11.0.0
Is it possible to use decompress to decompress the server response payload then alter the payload with a stream profile and last apply a HTTP Compression profile and send the compressed response to the client like :
Server response (compressed) -> LB ( decompress server response, apply stream profile on the uncompressed payload, apply HTTP Compression profile on the server response) -> Client
As all I can find is
K8115: Overview of the Stream profile https://support.f5.com/csp/article/K8115
Where it says
• Since HTTP compression on the server prevents the BIG-IP system from reading the data stream and performing the intended replacement, you may need to configure the HTTP profile to remove the Accept-Encoding header in the request to prevent compression by the server.
As a note we are running software version 13.x of the BIG IP.
I will answer to your question with a question:
What is the benefit to waste server cpu time and increase latency on server side if you want to inspect http content on the F5?
In most cases, BIGIP and server are on a local network without bandwidth limitation. Enabling server compression won’t speed up the serverside connection, so it is recommended to disable it, even more if the F5 is also configure to enable clientside compression!
The server is not on the local network and we need to rewrite URLs in the HTTP payload of the compressed responses.
Does the network between BIGIP and server require compression?
As you can see in the wiki, this is not well documented, so I suggest you to try yourself, then update the wiki with working irule!
Yes compression is needed in this case.