【问题标题】:How to configure NGINX to serve files with custom extension with gzip compression?如何配置 NGINX 以提供具有 gzip 压缩的自定义扩展名的文件?
【发布时间】:2021-05-25 20:01:31
【问题描述】:

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

如何让 nginx 提供压缩的 .roadData 文件?

谢谢

【问题讨论】:

    标签: nginx


    【解决方案1】:

    您可以为自定义扩展指定 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_static on; 并创建文件的压缩版本。

    zopfli 是最有效的工具之一。

    【讨论】:

      【解决方案2】:

      为您的扩展添加 MIME 类型

      types {
       application/json roadData;
      }
      

      为您的 mime 类型启用压缩

      gzip_static  on;
      gzip  on;
      gzip_types  application/json;
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-07-31
        • 2019-01-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-25
        相关资源
        最近更新 更多