nginx中文文档-ngx_http_realip_module

此页面版本:2016-06-08
ngx_http_realip_module模块用于通过一个指定的头域改变客户端地址。默认情况下,该模块不会构建,需要通过–with-http_realip_module参数启用。

示例配置

set_real_ip_from  192.168.1.0/24;
set_real_ip_from  192.168.2.1;
set_real_ip_from  2001:0db8::/32;
real_ip_header    X-Forwarded-For;
real_ip_recursive on;

set_real_ip_from

语法:set_real_ip_from address | CIDR | unix:
默认:—
上下文:http, server, location

定义可信的地址,可以用来正确的替换IP地址。如果特殊值unix:被指定,则所有UNIX-domain sockets都会被信任。
从1.3.0 和 1.2.1版本起,开始支持ipv6地址。

real_ip_header

语法:real_ip_header field | X-Real-IP | X-Forwarded-For | proxy_protocol
默认:real_ip_header X-Real-IP
上下文:http, server, location

定义用于替换地址的请求头域。
X-Real-IP和X-Forwarded-For参数可以包含可选的端口号(1.11.0+)。地址和端口号必须根据RFC3986指定。
proxy_protocol参数(1.5.12+)从代理协议头中改变客户端地址。代理协议必须提前通过listen指令的proxy_protocol参数开启。

real_ip_recursive

语法:real_ip_recursive on | off
默认:real_ip_recursive off
上下文:http, server, location
版本:1.3.0+,1.2.1+

如果递归查找禁用,匹配任何一个可信IP地址的客户端地址会被替换成real_ip_header指令定义的请求头域的最后一个地址。如果递归查找启用,匹配任何一个可信IP地址的客户端地址会被替换为请求头域最后一个非可信的IP地址。

内嵌变量


$realip_remote_addr
保留客户端原始地址(1.9.7+)


$realip_remote_port
保留客户端原始端口号(1.11.0+)