Nginx 在写入访问日志时禁用或解码 url 编码

Nginx disable or decode url encoding when writing to access log

我有一个open resty nginx,带有lua代码增强数据,然后我将这些数据写入访问日志以进行数据分析。 lua 代码生成的数据包含双引号,但 nginx 将其作为 \x22 写入访问日志。 我可以禁用此行为或将其解码回 "?

简答你不能。 但是,您可以 运行 在 logrotate 之后进行 URL 解码。

命令如下:

awk -v RS='\\x[0-9]{2}' 'RT{ORS=sprintf("%c", strtonum("0" substr(RT, 2)))} 1'