最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Nginx 主配置文件中如何设置默认的 MIME 类型支持
时间:2026-08-17 12:10:49 编辑:袖梨 来源:一聚教程网
Nginx HTTP块中需三步配置MIME类型:先include mime.types加载最新映射表,再用types块追加或覆盖类型,最后设default_type作安全兜底;必须验证语法并重载生效。
在 Nginx 主配置文件(通常是 /etc/nginx/nginx.conf)的 http 块中设置默认 MIME 类型支持,核心是三件事:加载最新映射表、补充或覆盖类型、设定安全兜底值。不写对位置或顺序,配置就无效。
必须在 http 块里引入 mime.types
这一行是基础,不能省略,也不能放在 server 或 location 里:
-
include mime.types;必须写在http { }块内部,通常靠近开头 - 该文件由 Nginx 安装自带,常见路径有
/etc/nginx/mime.types或/usr/share/nginx/mime.types - Nginx 启动时靠它构建后缀到 MIME 的映射哈希表,
.js→application/javascript这类识别全靠它
用 types 块追加或修正类型
别直接改原始 mime.types 文件——升级会被覆盖。推荐在 include mime.types; 之后,同一 http 块里写内联 types:
- 例如支持现代格式:
types { application/javascript mjs; font/woff2 woff2; image/avif avif; application/wasm wasm; } - 每行左边是 MIME 类型,右边是空格分隔的扩展名;重复扩展名以后面定义为准
- 顺序很重要:写在
include后面,才能覆盖默认映射
显式设置 default_type 作为兜底
未匹配到任何扩展名时,Nginx 会用这个值设 Content-Type 响应头。默认是 text/plain,但多数生产环境建议:
-
default_type application/octet-stream;—— 安全下载兜底,防止浏览器误执行未知文件 - 若服务纯 HTML 入口(如 ThinkPHP),可设为
default_type text/html;,避免 PHP 脚本被当文本下载 - 该指令放在
http块里最稳妥,确保所有 server 都继承
修改后务必验证生效
配置不是写完就起作用,必须走完整流程:
- 运行
nginx -t检查语法是否正确 - 执行
nginx -s reload重载配置(不中断服务) - 用
curl -I https://your.site/file.js查看Content-Type是否符合预期 - 如果返回
text/plain或空,说明没匹配上——优先检查拼写(如woff2写成wof2)、include 路径、或是否漏了default_type