如何使用nginx提供预先压缩的文件,以便它们在浏览器中显示为文本?


17

我有一堆我想与Nginx一起使用的压缩日志文件。我希望以这样一种方式为他们提供服务:浏览器会自动夸大它们。我假设这意味着我需要nginx来将文件发送为带有文本/纯标题的.gz文件。可以在apache中完成以下操作:

<FilesMatch *.gz>
    ForceType text/plain
</FilesMatch>

Answers:


24

HttpGzipStatic为此,您需要模块。放入gzip_static on;您的配置并创建.gz文件。您将需要同时保留压缩文件和原始文件,然后可以例如请求/css.css并提供压缩文件/css.css.gz


一个小注意事项:建议两个文件的修改时间(mtime)相同。
亚历山大·阿扎罗夫

2
而且,您可以使用来测试其是否正常工作curl --header "Accept-Encoding: gzip" -I your_url,并且在没有--header的情况下检查它是否仍可在未压缩的文件中使用。
汤姆(Tom)

显然,这种方法不适用于index.html.gz之类的索引,如果您使用“ index index.html.gz”将其添加到索引列表中,则当您尝试访问“ $ url / ”。我仍在寻找一种解决方案,使gzipped索引也可浏览。
索林

除非您使用try_files mailman.nginx.org/pipermail/nginx/2012-June/034102.html,否则不需要原始文件。我试着gunzip ontry_files serverfault.com/questions/571733/...
rofrol
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.