Nginx 配置之 X-Forwarded-For

作者: 潘峰 / 2021-09-09 / 分类: Work

NGINX

Nginx 配置之 X Forwarded For

X-Forwarded-For

X-Forwarded-For(XFF) 通常被当作 HTTP 请求头中的一个参数, 在客户端访问服务器的过程中如果需要经过 HTTP 代理或者负载均衡服务器(当前通常是 Nginx),可以被用来获取最初发起请求的客户端的 IP 地址,这个请求头现已成为事实上的标准(其标准版本是 Forwarded)。

其语法为:

X-Forwarded-For: <client>, <proxy1>, <proxy2>

Nginx 反向代理中的 X-Forwarded-For

X-Forwarded-For 在 nginx 配置中的格式一般为:

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

$proxy_add_x_forwarded_for

$proxy_add_x_forwarded_for 是最常用的配置变量,该变量可以在多层代理的情况下,依次获取整条链路所经过的客户端 IP 及所有代理服务器 IP(含当前代理服务器 IP)。

$http_x_forwarded_for

$http_x_forwarded_for 变量仅会直接获取上一层代理服务器中设置的 X-Forwarded-For 的值,并不会添加当前代理服务器 IP

参考来源:
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/X-Forwarded-For > https://www.cnblogs.com/discuss/articles/1862259.html
https://www.cnblogs.com/wulm/p/9817319.html
https://www.cnblogs.com/diaosir/p/6890825.html