<p>Nginx可通过正则匹配视频后缀并设access_log off来禁用其访问日志,推荐location ~* .(mp4|mov|avi|mkv|webm|flv|m3u8|ts)$ { access_log off; expires 1h; add_header Cache-Control "public, immutable"; },需置于通用location之前,重载后验证。</p>

想让 Nginx 对视频资源(如 MP4、MOV、AVI 等)不记录访问日志,关键是在 location 块中匹配对应后缀,并用 access_log off; 关闭该路径的日志记录。
匹配常见视频文件后缀
在 server 块内添加一个 location,用正则或前缀匹配方式覆盖视频资源路径。推荐使用正则,更灵活:
location ~* \.(mp4|mov|avi|mkv|webm|flv|m3u8|ts)$ {
access_log off;
# 可选:加上 expires 缓存头提升性能
expires 1h;
add_header Cache-Control "public, immutable";
}说明:
• ~* 表示忽略大小写的正则匹配
• 括号内列出常用视频格式,可根据实际需求增删
• access_log off; 是核心指令,禁用访问日志
• 静态资源建议搭配缓存策略,减少重复请求
放在合适的位置,避免被其他 location 覆盖
Nginx 的 location 匹配有优先级规则。为确保生效,注意以下几点:
- 该 location 块应放在通用静态资源 location(如
location /或location ~* \.jpg$)之前,否则可能被更宽泛的规则先匹配 - 如果视频文件统一放在某个目录(如
/videos/),也可用前缀匹配:location ^~ /videos/ { access_log off; } - 避免和
location = /xxx这类精确匹配冲突;如有,需确认视频请求是否真走到了这个块
验证是否生效
修改配置后别忘了重载:
nginx -t && nginx -s reload
然后访问一个视频 URL(如 https://example.com/demo.mp4),检查日志文件是否新增对应条目。可临时打开另一个终端运行:tail -f /var/log/nginx/access.log
刷新视频页面,若无新日志输出,说明已生效。
补充说明:error_log 不受影响
access_log off 仅关闭访问日志,不影响错误日志(error_log)。如果视频文件不存在或权限出错,404、403 等仍会记入 error.log,这是正常行为,无需额外处理。










