如何在nginx中为tar.bz2或tar.gz文件定义mimetypes?

我试着将这些行添加到mime.types:

application/x-gtar tar.gz tgz tar.bz2 tbz2 tbz; application/x-bzip2 bz2; application/x-gzip gz; 

但是nginx会报告tar.bz2文件的“Content-Type:application / x-bzip2”。 我该如何解决?

附加问题:tar.bz2 / tbz2文件的正确MIMEtypes是什么? 不同的来源给了我各种不同的答案:application / x-gtar,application / x-compressed-tar,application / x-bzip-compressed-tar,application / x-tar-bz2,application / x-bzip2等同样为tar.gz / tgz

/etc/mime.types文件中有一个免责声明:

注意:像“gzip”,“bzip”和“compress”这样的压缩scheme实际上并不是“MIMEtypes”。 它们是“编码”,因此在这个文件中不能有条目来映射它们的扩展名。 编码文件的“mime-type”是指已编码的数据types,而不是编码types。

这意味着对于每个压缩方法,应该有application/x-tar来映射tarball,而不是单独的content-type。

例如,您可以安全地从/etc/mime.types复制它。

你可能可以使用HttpHeadersMoreModule和一些正则expression式匹配来覆盖Content-Type如果URL以扩展名之一结束的话。

根据conf / mime.types ,似乎nginx不支持这种MIMEtypes。