gzip min_length with upstream + ssi

Igor Sysoev is at rambler-co.ru
Thu Sep 17 14:17:00 MSD 2009


On Thu, Sep 17, 2009 at 06:11:53PM +0800, 191919 wrote:

> Will nginx support using ssi + gzip?

nginx supports ssi+gzip. However, gzip_min_length does not work in this case.

> 2009/9/17 Igor Sysoev <is at rambler-co.ru>
> 
> > On Thu, Sep 17, 2009 at 05:51:33PM +0800, 191919 wrote:
> >
> > > Hi there,
> > >
> > > I encountered a problem when using gzip_min_length with upstream + ssi:
> > >
> > > ssi on;
> > > gzip_min_length 1024;
> > > upstream fastcgi_backends
> > > {
> > >   server unix:/tmp/nx-fastcgi.sock.00;
> > > }
> > >
> > > I wrote a PHP script as:
> > >
> > > <?
> > > header('Content-Length: 3');
> > > echo '123';
> > > ?>
> > >
> > > and requested as:
> > >
> > > GET /2.php HTTP/1.0
> > > Accept-Encoding: gzip, deflate
> > >
> > > nginx returned:
> > >
> > > HTTP/1.1 200 OK
> > > Server: nginx/0.8.15
> > > Date: Thu, 17 Sep 2009 09:39:57 GMT
> > > Content-Type: text/html
> > > Connection: close
> > > X-Powered-By: PHP/5.2.8
> > > Vary: Accept-Encoding
> > > Content-Encoding: gzip
> > >
> > > 3426???
> > >
> > > As you see, the content is compressed despite of gzip_min_length = 1024.
> > >
> > > When I turned off ssi (ssi off;), gzip_min_length works:
> > >
> > > HTTP/1.1 200 OK
> > > Server: nginx/0.8.15
> > > Date: Thu, 17 Sep 2009 09:48:11 GMT
> > > Content-Type: text/html
> > > Connection: close
> > > X-Powered-By: PHP/5.2.8
> > > Content-Length: 3
> > > Vary: Accept-Encoding
> > >
> > > 123
> > >
> > > (Commenting out "ngx_http_clear_content_length(r);" in
> > > ngx_http_ssi_filter_module.c also works, I didn't test whether ssi still
> > > worked.)
> >
> > SSI deletes "Content-Length" so gzip module does not know about it.
> >
> >
> > --
> > Igor Sysoev
> > http://sysoev.ru/en/
> >
> >

-- 
Igor Sysoev
http://sysoev.ru/en/





More information about the nginx mailing list