我尝试将这些行添加到 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 文件的正确 mime 类型是什么?不同的来源给了我各种不同的答案:application/x-gtar、application/x-compressed-tar、application/x-bzip-compressed-tar、application/x-tar-bz2、application/x-bzip2 等。tar.gz/tgz 也一样
答案1
/etc/mime.types
文件中有一个免责声明:
注意:诸如“gzip”、“bzip”和“compress”之类的压缩方案实际上不是“mime 类型”。它们是“编码”,因此必须不是此文件中有条目来映射其扩展名。编码文件的“mime 类型”是指已编码的数据的类型,而不是编码的类型。
这意味着您应该application/x-tar
映射 tarball,而不是为每种压缩方法单独设置内容类型。
/etc/mime.types
例如,您可以安全地从中复制它。
答案2
您可能可以使用HttpHeadersMore模块Content-Type
如果 URL 以某个扩展名结尾,则使用一些正则表达式匹配来覆盖。
答案3
根据conf/mime.类型,看来 nginx 不支持这种 mime 类型。