可以将 X-FORWARDED-FOR 记录到 nginx error_log 吗?

可以将 X-FORWARDED-FOR 记录到 nginx error_log 吗?

Nginx 允许访问日志的自定义日志格式——现在我正在记录 http_x_forwarded_for 并且它运行良好。

问题是我的错误日志仅显示 LB IP。在 Google 上搜索并阅读其文档后,似乎 error_log 不支持自定义格式,仅支持设置日志级别(信息、警报、通知、警告等)。

是否有任何解决方法或模块可以用来解决这个问题?

为了完整起见,我的设置是:

Amazon ELB -> 运行 nginx 的实例池作为 php-fpm 7.0 的反向代理

答案1

你应该使用真实IP模块,这样客户端的实际 IP 地址就会被视为远程 IP 地址,而不是负载均衡器的 IP 地址。这样,您就不必在日志中或应用程序中检查 X-Forwarded-For。

启用它很简单,只需提供你的负载均衡器 IP 地址:

set_real_ip_from  10.0.0.0/8;
set_real_ip_from  172.16.0.0/12;
set_real_ip_from  192.168.0.0/16;
real_ip_header    X-Forwarded-For;

相关内容