real-ip插件
更新时间 2026-04-21 15:48:56
最近更新时间: 2026-04-21 15:48:56
本文将详细介绍real-ip插件功能、配置和使用。
功能说明
real-ip 插件支持动态改变传递到网关的客户端的 IP 地址和端口。其工作方式和 NGINX 中的 ngx_http_realip_module 模块一样,并且更加灵活。
配置字段
| 名称 | 类型 | 填写要求 | 默认值 | 有效值 | 描述 |
|---|---|---|---|---|---|
| source | string | 必填 | 任何 NGINX 变量,如 arg_realip 或 http_x_forwarded_for | 动态设置客户端的 IP 地址和端口。如果该值不包含端口,则不会更改客户端的端口。如果该值的地址丢失或无效,则不会更改客户端的地址。 | |
| trusted_addresses | array[string] | 可选 | IP 或 CIDR 范围列表。 | 受信任地址,用于动态设置 set_real_ip_from 字段。 | |
| recursive | boolean | 可选 | false | 如果禁用递归搜索,则与受信任地址之一匹配的原始客户端地址将替换为配置的source中发送的最后一个地址。如果启用递归搜索,则与受信任地址之一匹配的原始客户端地址将替换为配置的source中发送的最后一个非受信任地址。 |
配置示例
real-ip 使用示例
source: "arg_realip"
trusted_addresses:
- 127.0.0.0/24该配置表示从请求参数realip中获取客户端的IP地址和端口,并且设置发出请求的受信任地址CIDR范围为127.0.0.0/24,即127.0.0.0-127.0.0.255。
根据该场景请求路由
curl http://example.com/test?realip=1.2.3.4:27151若发出请求的受信任地址在配置的CIDR范围内,则传递给网关的客户端IP地址和端口将被设置为1.2.3.4和27151
配置模板
#[必填]指定用于动态设置客户端的IP地址和端口。如果该值不包含端口,则不会更改客户端的端口。如果该值的地址丢失或无效,则不会更改客户端的地址。可填任意NGINX变量,比如arg_realip或http_x_forwarded_for。
source: "arg_realip"
#[可选]受信任地址,指定可信代理服务器的 IP 地址或CIDR范围列表,用于动态设置set_real_ip_from字段。
#trusted_addresses:
#- 127.0.0.0/24
#[可选]如果禁用递归搜索,则与受信任地址之一匹配的原始客户端地址将替换为配置的source中发送的最后一个地址。如果启用递归搜索,则与受信任地址之一匹配的原始客户端地址将替换为配置的source中发送的最后一个非受信任地址。默认禁用。
#recursive: false