nginx代理httpd服务时X-Forwarded-For信息头的处理

X-Forwarded-For的定义:
简称XFF头,它代表客户端,也就是HTTP请求端的真实IP,只有在通过了HTTP代理或者负载均衡器时才会添加;

在默认情况下,nginx并不会对X-Forwarded-For头做任何的处理,除非使用"proxy_set_header"参数:
proxy_set_header X-Forwarded-For $remote_addr;
或者
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

$proxy_add_x_forwarded_for变量包含客户端请求头中的"X-Forwarded-For",与$remote_addr用逗号分开,如果没有"X-Forwarded-For" 请求头,则$proxy_add_x_forwarded_for等于$remote_addr;

$remote_addr的值是客户端的IP;

配置实现:

  1. 没有配置X-Forwarded-For查看httpd的access日志

  1. nginx-proxy配置:
    proxy_set_header X-Forwarded-For $remote_addr;

  1. httpd的配置:

  1. 验证:

作者:ccku
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如有问题或建议,请多多赐教,非常感谢。
原文地址:https://www.cnblogs.com/ccku/p/13954863.html