Re: Use Apache for compression offloading

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi.

I'm not a specialist of that kind of thing, but I'm curious and I just wonder about the following kind of scenario :

- In the proxy server, unset the Accept-encoding header, but set another non-standard one (or an environment value) that will not be recognised by the back-end server
- condition the SetOutputFilter DEFLATE by this other header/value
- do the proxying. The back-end server will not get the Accept-encoding header. Instead it will get the new header you set, but will not react to it, so not do compression.
- but the front-end server still will

I think that mod_sentenvif and/or mod_rewrite should allow you to do the above. Someone else would have to give you the specifics though.

André


Rainer Sabelka wrote:
Hi,

I try to use apache (version 2.2.8 on Ubuntu 8.04) for compression offloading.
What I want to do:
- use mod_proxy to forward all requests to the application server
- use mod_deflate to compress the output
- remove the "Accept-Encondig:" header from the client's request before sending it to the application server to avoid that the compression is done there.

My frist approach didn't work:

<VirtualHost *:80>
    ServerName www.example.com
    <Proxy *>
         Order deny,allow
         Allow from all
    </Proxy>
    ProxyRequests Off
    ProxyPass / http://realserver:80/
    ProxyPreserveHost on
    RequestHeader unset Accept-Encoding
    SetOutputFilter DEFLATE
</VirtualHost>

The problem with this approach: when I use "RequestHeader unset Accept-
Encoding" then the application server gives me uncompressed output (good) but also mod_deflate won't comress the output (bad).

So, this is my second approch, which actually works, but I think is a bit an over-kill:

<VirtualHost *:80>
    ServerName www.example.com
    <Proxy *>
         Order deny,allow
         Allow from all
    </Proxy>
    ProxyRequests Off
    ProxyPass / http://localhost:8000/
    ProxyPreserveHost on
    RequestHeader unset Accept-Encoding
    SetOutputFilter DEFLATE
</VirtualHost>

<VirtualHost localhost:8000>
    ServerName www.example.com
    <Proxy *>
         Order deny,allow
         Allow from all
    </Proxy>
    ProxyRequests Off
    ProxyPass / http://realserver:80/
    ProxyPreserveHost on
    RequestHeader unset Accept-Encoding
</VirtualHost>

Here I have 2 instances of apache in proxy-mode connected in series. The first one forwards the request to the second one and does the compression of the output. The second instance just removes the Accept-Encoding header before it forwards the request to the application server.

But I think there must be a an easier solution. Has any body an idea how to get this working with only a single instance of apache?

Thanks,
-Rainer

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
   "   from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx


---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
  "   from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx


[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux