serve precompressed files without also serving their uncompressed counterparts
Maxim Dounin
mdounin at mdounin.ru
Tue Dec 22 16:24:29 UTC 2015
Hello!
On Tue, Dec 22, 2015 at 07:15:53PM +0300, Valentin V. Bartenev wrote:
> On Tuesday 22 December 2015 19:05:18 Valentin V. Bartenev wrote:
> > On Tuesday 22 December 2015 11:01:19 snieuwen wrote:
> > > Hi,
> > >
> > > Is it possible to serve precompressed files without serving their
> > > uncompressed counterparts?
> > >
> > > For example:
> > > /var/www/ contains index.html.gz, but no index.html. How do I configure
> > > nginx to respond with index.html.gz when the client supports gzip or let
> > > nginx decompress the file on the fly when the client does not support gzip?
> > >
> > > Based on this answer on stackoverflow http://serverfault.com/a/611757, I am
> > > currently using the following configuration:
> > >
> > > location / {
> > > try_files $uri $uri/ @application;
> > > root /var/www;
> > > gzip_static on;
> > > gunzip on;
> > > }
> > >
> > > @application configures the application server.
> > > When I try get the index.html page, nginx return a 403 forbidden error.
> > >
> > [..]
> >
> > gzip_static always;
> >
> > See the documentation: nginx.org/r/gzip_static
> >
> [..]
>
> But your problem is caused by "try_files", since you have configured
> it to check "$uri" and "$uri/" instead of "$uri.gz".
>
> The configuration below should work for you:
>
> location / {
> root /var/www;
>
> gzip_static always;
> gunzip on;
>
> error_page 404 = @application;
> }
Likely 403 is returned because there is no index file
(http://nginx.org/r/index), and the request is to "/", not to
"/index.html". I don't think there is a good solution.
--
Maxim Dounin
http://nginx.org/
More information about the nginx
mailing list