0、问题描述
使用了 CDN 后,Nginx 日志清一色都是 CDN IP。
虽然宝塔防火墙可以拦截恶意请求,拉黑真实 IP,但是有一些扫描器没有被识别,在日志中可以看到,如果无法找到真实 IP,也就无法拉黑这些扫描器的 IP 了。
1、解决方法
解决方案是,自定义日志格式。
编辑 Nginx 配置文件,如果使用宝塔一般是:
/www/server/nginx/conf/nginx.conf
或直接在软件-Nginx-配置文件修改。
在http
字段的末尾(server
字段前)加上以下内容:
1 | http { ... # 不要修改原有的内容 log_format reallog '$http_x_forwarded_for - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" '; # 加上这一段即可 } server { ... # 不要修改原有的内容 } |
然后在开启 CDN 的网站的 Nginx 配置文件中,修改:
此处内容需要评论回复(自动审核)或加入 QQ 技术交流群(立即获得内容)后方可阅读。赞助(二维码在文章下方)后联系作者可一次性解锁所有(包括之后的新文章)。
替换为正确路径,保存即可。
解决 Nginx 日志不显示真实 IP
评论