httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Guzman Braso" <guzman.br...@gmail.com>
Subject [users@httpd] mod_filter being ignored (ProxyReverse, IIS Backend forced deflate content)
Date Thu, 27 Dec 2007 07:05:21 GMT
Hello everyone,

This is the problematic setup:

1. Windows Client behind any proxy (client proxy) software.
2. Apache 2.2.3 (64bits) as reverse proxy.
3. IIS as backend server forcing deflate compression on *some* content.

Well... as the windows clients are behind a proxy, no matter what I
do, the client will always send the requests to me with Http 1.0 which
is default setting for most windows proxies server out there. Then,
apache will forward this request to the backend server. The backend
server, no matter which http version I tell, which encoding I tell,
will ALWAYS force some dynamic applications to return content
compressed as "deflate".

The result? Well, the result is Internet Explorer showing the content
compressed without inflating first, which means it shows all garbage.

Things I've tried and the results I got:

A. Removing set http 1.0 by force for IE.
Even when doing this and having apache responses go with HTTP 1.1 to
IE, IE keeps sending requests with HTTP 1.0.
So it didn't help at all.

B. Checked http headers of both Mozilla & IE
The single difference on the headers return by apache to the client
are the http protocol version.
The main difference in the headers sent by the client, is that as IS
is using HTTP 1.0, is not sending Accept-Encoding as well many other
HTTP 1.1 headers.

C. Use mod_filter to inflate the deflated content before returning to users
Tried with mod_filter to tell to inflate the content to any  user not
sending a request with a propper Accept-Encoding.
I was compeltely unable to get this to work, and this is the main
reason of being writting to the list.
I've read every mail on google related to mod_filter usage and it
seems what's good for others don't work on my configuration, already
verified mod_filter is being loaded (httpd2 -M show it).
I'm putting the following directives inside the same virtualhost that
define the reverse proxy, tried putting it before & after the
ProxyReverse without luck:
       FilterDeclare myfilter CONTENT_SET
       FilterProvider myfilter inflate req=Accept-Encoding *
       FilterProtocol myfilter "change=yes proxy=transform"
       FilterTrace myfilter 1
       FilterChain myfilter

Of course at first FilterProvide match wasn't an * but even with an *
it doesnt apply. NEVER.
I've not been able to see a SINGLE line of mod_filter even after using
the FilterTrace directive.
So it's clear to me that if there's a way out of my problem is through
mod_filter usage.
What I'm missing? It seems like my Filter directives are ignored,
however no warning in any log are generated, and I tried to put a typo
in the directives and apache complains inmediatly, so I'm sure it's
reading it and it evaluates the directives. However it ignores my
instructions.

The worst part is that this same scenario, using an IIS as reverse
proxy, was working good with clients behind proxies (clients proxies).
I bet the IIS acting as reverse proxy was uncompressing the compressed
content before returning it to users who requested HTTP 1.0 in the
headers.

I'm really out of ideas, please help, any idea will be much appreciated.

Kind Regards,

Guzmán Brasó

---------------------------------------------------------------------
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@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Mime
View raw message