<div dir="ltr">Thanks, it worked like a charm!<div>The lua script that handled 404 logic worked without any changes with error_page.</div><div>There were some other add_header cofiguration, they also worked fine with it...</div><div>HB<br><div> </div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 22, 2018 at 5:38 PM, Maxim Dounin <span dir="ltr"><<a href="mailto:mdounin@mdounin.ru" target="_blank">mdounin@mdounin.ru</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello!<br>
<span class=""><br>
On Thu, Mar 22, 2018 at 05:00:20PM -0700, Hemant Bist wrote:<br>
<br>
> Hi,<br>
> We have only gzipped files stored on nginx and need to serve client that :<br>
> A) Support gzip transfer encoding (> 99% of the clients). They send<br>
> Accept-Encoding: gzip header...<br>
> B) < 1% of the clients that don't support transfer encoding. The don't send<br>
> Accept-Encoding header.<br>
><br>
> There is ample CPU in the nginx servers to support clients of type B).  But<br>
> I am unable to figure out a config/reasonable script<br>
> to help us serve these clients.<br>
><br>
> Clients of type A) are served with the following config.<br>
> --- Working config that appends .gz in the try_files ----<br>
>     location /compressed_files/ {<br>
>         add_header Content-Encoding "gzip";<br>
>         expires    48h;<br>
>         add_header Cache-Control private;<br>
>         try_files $uri.gz @lua_script_for_missing_file;<br>
>     }<br>
><br>
><br>
> ----- Not working  config  with gunzip on; likely because gunzip filter<br>
> runs before add_header?<br>
><br>
>     location /compressed_files/ {<br>
>         add_header Content-Encoding "gzip";<br>
><br>
>         expires    48h;<br>
>         add_header Cache-Control private;<br>
</span>> *# gunzip on fails to uncompress likely because it does not notice the<br>
> add_header directive.*<br>
> *        gunzip on;*<br>
> *        gzip_proxied any;*<br>
<span class="">>         try_files $uri.gz @lua_script_for_missing_file;<br>
>     }<br>
><br>
><br>
> I would appreciate any pointers on how to do this. I may be missing some<br>
> obvious configuration for such case.<br>
> We did discuss keeping both unzipped and zipped version on the server, but<br>
> unfortunately that is unlikely to happen.<br>
<br>
</span>Try this instead:<br>
<br>
    location /compressed_files/ {<br>
        gzip_static always;<br>
        gunzip on;<br>
    }<br>
<br>
See documentation here for additional details:<br>
<br>
<a href="http://nginx.org/r/gzip_static" rel="noreferrer" target="_blank">http://nginx.org/r/gzip_static</a><br>
<a href="http://nginx.org/r/gunzip" rel="noreferrer" target="_blank">http://nginx.org/r/gunzip</a><br>
<br>
Note that you wan't be able to combine this with "try_files<br>
$uri.gz ...", as this will change URI as seen by gzip_static and<br>
will break it.  If you want to fall back to a different location<br>
when there is no file, use "error_page 404 ..." instead.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Maxim Dounin<br>
<a href="http://mdounin.ru/" rel="noreferrer" target="_blank">http://mdounin.ru/</a><br>
______________________________<wbr>_________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" rel="noreferrer" target="_blank">http://mailman.nginx.org/<wbr>mailman/listinfo/nginx</a><br>
</font></span></blockquote></div><br></div>