1
使用Real-IP时如何记录$ remote_addr的原始值
我的环境中的用户请求通过多个系统传递: [客户]-> [ELB] ---> [nginx]-> [网络] (ELB = AWS Elastic Load Balancer) 多亏了这个答案,我让nginx确定了正确的客户端IP地址并将其传递给带有X-Forwarded-For和X-Real_IP标头的上游服务器(网络)。相关的nginx配置: real_ip_header X-Forwarded-For; set_real_ip_from 10.0.0.0/8; real_ip_recursive on; proxy_set_header X-Real-IP $remote_addr; 我的问题是,nginx中的Real IP模块用$remote_addr其X-Forwarded-For计算结果替换了现有变量。这给了我原始的客户端IP,但是我丢失了实际上将请求发送到代理(即ELB)的系统的IP地址。 总的来说,拥有客户端IP对我来说更重要,但是我希望能够记录完整的请求链,以便我可以了解(并调试)流量的流向。目前,我只能让nginx记录客户端IP,它自己的IP和上游服务器IP。我也希望能够登录ELB IP。 我看到X-Istence在2013年问了同样的问题,运气不佳。从那以后有什么变化或改善?