is there any way to make Substitution module to work with gzip?

Maxim Dounin mdounin at mdounin.ru
Fri Jan 29 14:28:58 MSK 2010


Hello!

On Fri, Jan 29, 2010 at 06:49:44PM +0800, Weibin Yao wrote:

> tOmasEn at 2010-1-29 17:21 wrote:
> >by the way I also tried add gzip_proxied any;, but doesn't make
> >difference.
> >
> >             location = /xslt/main.xsl {
> >                proxy_set_header  X-Forwarded-For
> >$proxy_add_x_forwarded_for;
> >                      proxy_set_header Host $http_host;
> >                      proxy_redirect off;
> >                        proxy_pass http://61.129.66.75:80;
> >                        gzip_proxied any;

Directive gzip_proxied isn't relevant here.  It only relevant if 
request was got from proxy server (determined based on Via header 
presense in request).

> >                        proxy_set_header    Accept-Encoding "";
> >//have to use this otherwise sub_filter won't work
> This directive deletes the request's "Accept-Encoding " header and
> the gzip module will not work any more.

No.  This directive doesn't pass Accept-Encoding header to 
upstream, but it has nothing to do with original request headers.

The reason why gzip filter doesn't work is quite simple: it isn't 
configured to do so.

Key things that should be configured in this case are:

gzip on;
gzip_types text/xml;

Note well: when testing with console downloaders it is quite 
possible that they use HTTP/1.0.  In this case one also required 
to set

gzip_http_version 1.0;

but it's not generally good idea to do so in production as modern 
browsers use HTTP/1.1, while HTTP/1.0 clients may handle gzip 
incorrectly (and that's why gzip is disabled for HTTP/1.0 clients 
by default).

Full details may be found here:

http://wiki.nginx.org/NginxHttpGzipModule

Maxim Dounin

> You may use this module to set the input header:
> http://wiki.nginx.org/NginxHttpHeadersMoreModule
> more_set_input_headers 'Accept-Encoding: gzip';
> 
> But I suggest you should  turn off the gzip in the backend instead,
> it's more clear than these trick directives.
> >                        sub_filter_types text/xml;
> >                        sub_filter '3236699304584559'
> >'9418887123196030' ;
> >                        sub_filter_once off;
> >            }
> 
> -- 
> Weibin Yao
> 
> 
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://nginx.org/mailman/listinfo/nginx



More information about the nginx mailing list