Author Login
Post Reply
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@(protected)
> " from the digest: users-digest-unsubscribe@(protected)
> For additional commands, e-mail: users-help@(protected)
>
---------------------------------------------------------------------
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@(protected)
" from the digest: users-digest-unsubscribe@(protected)
For additional commands, e-mail: users-help@(protected)