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;