如何在NGINX配置中指定没有扩展名的文件的mimetype?

时间:2012-11-22 09:06:01

标签: nginx mime-types

我有一台带有nginx的服务器。我有很多图像 - pngs和jpgs保存为没有扩展名的文件(如“123123123_321312”)。

当我在html页面中使用标签“img”时,我会在控制台中收到这些消息:

Resource interpreted as Image but transferred with MIME type application/octet-stream: "http://xxxx/images/1350808948_997628". jquery.js:2
Resource interpreted as Image but transferred with MIME type application/octet-stream: "http://xxxx/images/1343808569_937350". 

有没有办法让nginx添加标头并使用所请求文件的正确mimetype?

2 个答案:

答案 0 :(得分:16)

您应该使用default_type指令:

server {
   ...
   default_type text/html;

   location /images/png {
      default_type image/png;
   }

   location /images/jpg {
      default_type image/jpeg;
   }
}

答案 1 :(得分:0)

我还要补充一下。

如果您的网页被下载而不是执行,MickaëlLeBaillif解决方案也可以使用。 因为nginx认为它应该是default_type application/octet-stream;,即使官方文档说:

  

使特定位置发出“application / octet-stream”MIME   输入所有请求的类型,可以使用以下配置

并指向location /download/ 这也给出了:

Resource interpreted as Image but transferred with MIME type application/octet-stream: "http://xxxxx.com/"

Nginx版本:1.6.2