如何配置NGINX以提供带有gzip压缩的自定义扩展名的文件?

如何配置NGINX以提供带有gzip压缩的自定义扩展名的文件?,nginx,Nginx,我可以为MIME类型启用nginx gzip压缩。但是,我需要为具有不同扩展名(.roadData)的大型文件提供服务。roadData本质上是json 如何要求nginx提供压缩的.roadData文件 谢谢为您的扩展添加mime类型 types { application/json roadData; } 为mime类型启用压缩 gzip_static on; gzip on; gzip_types application/json; 要从动态压缩中卸载nginx,请在原始文件旁

我可以为MIME类型启用nginx gzip压缩。但是,我需要为具有不同扩展名(.roadData)的大型文件提供服务。roadData本质上是json

如何要求nginx提供压缩的.roadData文件


谢谢为您的扩展添加mime类型

types {
 application/json roadData;
}
为mime类型启用压缩

gzip_static  on;
gzip  on;
gzip_types  application/json;

要从动态压缩中卸载nginx,请在原始文件旁边创建.gz(filename.roadData.gz)文件,以便nginx使用预压缩文件进行响应。

您可以为自定义扩展名指定MIME类型,如下所示:

http {
    include /etc/nginx/mime.types;
    types {
        application/json roadData;
    }
}
然后,所有
.roadData
文件将使用适当的MIME类型提供,如果您指定了压缩类型,NGINX将对其进行压缩

通过这种方式,您可以使用自己的MIME类型扩展服务器范围的MIME类型,以获得另一个扩展

或者,您可以将其指定为默认位置,前提是
roadData
与其他文件存储在一个目录中:

location /download/ {
    types        { }
    default_type application/json;
}
正如其他答案提到的,预压缩的gzip文件在这里是有意义的,因为您不希望NGINX在每次请求时都重新压缩这些大文件

使用
gzip\u静态打开
并创建文件的压缩版本

这将是最有效的工具之一