Nginx HTTP块中需三步配置MIME类型:先include mime.types加载最新映射表,再用types块追加或覆盖类型,最后设default_type作安全兜底;必须验证语法并重载生效。
在 Nginx 主配置文件(通常是 /etc/nginx/nginx.conf)的 http 块中设置默认 MIME 类型支持,核心是三件事:加载最新映射表、补充或覆盖类型、设定安全兜底值。不写对位置或顺序,配置就无效。
这一行是基础,不能省略,也不能放在 server 或 location 里:
include mime.types; 必须写在 http { } 块内部,通常靠近开头/etc/nginx/mime.types 或 /usr/share/nginx/mime.types
.js→application/javascript 这类识别全靠它别直接改原始 mime.types 文件——升级会被覆盖。推荐在 include mime.types; 之后,同一 http 块里写内联 types:
types { application/javascript mjs; font/woff2 woff2; image/avif avif; application/wasm wasm; }
include 后面,才能覆盖默认映射未匹配到任何扩展名时,Nginx 会用这个值设 Content-Type 响应头。默认是 text/plain,但多数生产环境建议:
default_type application/octet-stream; —— 安全下载兜底,防止浏览器误执行未知文件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