banner
libxcnya.so

libxcnya.so

Nothing...
telegram
twitter
github
email

Nginx 自定义 Log Format

前言#

我们在使用 CDN 的时候,Nginx 中的日志会全是 CDN 的节点 IP,很不方便我们 Debug 之类的

1

为了解决这个问题,我们可以在 Nginx 的配置文件中自定义 Log Format 来实现在日志中显示访客的真实 IP

Get Start#

首先你要确定自己的 CDN 在响应头中哪一项包含了用户的真 IP
具体请参考上一篇文章
然后我们打开 Nginx 的主配置文件,找到 http {} 这一块
找一个你喜欢的地方插入这一串内容

2

log_format main '$http_cf_connecting_ip / $remote_addr - [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';

在这一串代码中,main 表示自定义格式的名称,http_cf_connecting_ip 换成你自己的 CDN 带有用户真 IP 的 header,要带 http_,然后往后的 Log 会以以下格式输出

用户 IP / 节点 IP - [访问时间] "请求方式及目录" 响应代码 发送出去的数据包字节大小 来源 Url 用户 UA

然后找到站点配置的 http {} 这一块
找到你之前的 access_log 参数,在分号的前面加上 main

3

之后该站点的日志都会以你自定义的格式输出

4

The End#

这样问题就解决了,如果你觉得我写的文章对你有帮助,
欢迎点个赞,适当打赏,评论区留言你的看法喵~

此文由 Mix Space 同步更新至 xLog
原始链接为 https://blog.nekorua.com/posts/maintain/16.html


加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。