rewrite_log
rewrite_log 指令启用对请求重写处理详细信息的日志记录。 — NGINX HTTP Core
rewrite_log
httpserverlocationif in serverif in location
语法rewrite_log on | off;
默认值off
上下文http, server, location, if in server, if in location
模块NGINX HTTP Core
参数flag
说明
rewrite_log 指令是 NGINX HTTP Core 模块的一部分,用于记录与请求重写处理相关的详细信息。当启用时,它可帮助开发人员和系统管理员通过提供对重写引擎操作的洞察来调试复杂的重写规则。这对于识别重写规则中的问题尤为有用,例如错误的重定向或 URL 处理中的意外行为。 该指令接受一个 flag 参数,将其设置为 'on' 可启用日志记录,设置为 'off' 则禁用。生成的日志包括每次重写周期的条目,以及正在应用的条件和替换。该功能通常在配置的开发和测试阶段使用,因为增加的冗长输出如果在生产环境中保持开启,可能导致性能下降。 当将其放置在适当的上下文(http、server、location 或这些上下文内的 if 语句)时,它会专门控制这些块的日志输出。但是,应谨慎使用,因为记录每个重写过程会迅速填满日志文件,并可能导致 I/O 开销。
配置示例
server {
listen 80;
server_name example.com;
rewrite_log on;
location /old-page {
rewrite ^/old-page/(.*) /new-page/$1 last;
}
}⚠
启用 rewrite_log 会增加日志文件的详细程度,这可能影响性能并导致生产环境中日志文件变得很大。
⚠
如果启用了 rewrite_log,请确保已设置日志轮换,以防止过度的磁盘使用。