跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

如何利用Nginx实现对特定文件扩展名禁用访问日志记录

可通过Nginx的location块配合access_log off关闭特定扩展名请求的日志记录,推荐用不区分大小写的正则~*.(js|css|png|jpg|gif|ico|woff2?)$匹配静态资源,并确保该location置于更通用的location /之前以避免被覆盖。 可以通过 Nginx 的
access_log off
指令配合
location
块,对匹配特定扩展名的请求关闭访问日志记录。 在 location 块中匹配扩展名并关闭日志 在 server 或 http 块中,使用正则或前缀 location 匹配目标文件类型,并在其中设置
access_log off
: 推荐用
~* \.(js|css|png|jpg|gif|ico|woff2?)$
这类不区分大小写的正则匹配静态资源 必须将该 location 块放在更通用的
location /
之前,否则可能被覆盖(Nginx location 匹配有优先级规则) 无需额外 rewrite 或 proxy_pass,仅日志控制,保持原有响应行为不变 示例配置片段 以下配置禁用常见静态资源的访问日志:
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot|webp)$ { access_log off; expires 1y; add_header Cache-Control "public, immutable"; }
注意:
access_log off
是明确关闭日志的关键;
expires
和缓存头仅为增强实践,非必需。 Nginx 在宝塔面板中轻松管理Nginx高性能Web服务器。提供可视化配置反向代理、负载均衡、SSL证书及HTTP缓存功能,一键优化高并发性能,助您高效搭建稳定、快速的网站运行环境。 下载 验证是否生效 修改配置后需重载 Nginx(
nginx -s reload
),然后检查日志文件变化: 直接请求一个匹配的文件(如
/style.css
),观察 access log 文件是否无新增行 同时请求一个不匹配的路径(如
/api/user
),确认日志仍正常记录 可用
tail -f /var/log/nginx/access.log
实时跟踪验证 注意事项与常见误区 避免以下典型问题: 不要在
if
块中写
access_log off
—— Nginx 不允许在 if 中配置日志开关 不要遗漏
off
后的分号,否则配置校验失败(
nginx -t
会报错) 若使用了多个日志文件(如按 host 分离),需确保所有相关 location 都显式关闭,或统一在顶层用 map 控制(进阶方案)

相关文章