美文网首页
nginx日志编码突然变成十六进制

nginx日志编码突然变成十六进制

作者: 运维大湿兄 | 来源:发表于2019-04-01 16:44 被阅读0次

问题描述:

查看nginx日志,突然变成看不懂的字符,例如:xE6\xBC\x94\xE7\xA4\xBA\xE7\xAB\x99。


乱码图片.png

猜想是nginx编码问题,里面上网查找。

网上搜索的解决办法有:

1.改编码

编辑conf下面的nginx.conf

在server段里加以下两行

default_type 'text/html';
charset utf-8;

然后重启。

这个方法我起了作用

2.还有设置日志格式主编码:

设置转义方式,这个方法我试过escape=none或者json都无效,应该是这个方法是针对nginx 1.11.8 以上版本

log_format postdata escape=json  ' $remote_addr | $request_body | $resp_body ' ;

通过nginx -v命令得知,我安装的nginx版本是1.9.3的,
nginx version: openresty/1.9.3.1

3.针对这个版本的nginx,采用以下方法也可以解决:

直接在 nginx.conf的记录日志的location部分里面配置下面这一行就好了:

log_escape_non_ascii off;

相关文章

网友评论

      本文标题:nginx日志编码突然变成十六进制

      本文链接:https://www.haomeiwen.com/subject/smnvbqtx.html