XFF 原 IP 检测扩展(proto)
extensions.http.original_ip_detection.xff.v3.XffConfig
[extensions.http.original_ip_detection.xff.v3.XffConfig proto]
此扩展允许通过读取 x-forwarded-for 标头来检测原始下游远程 IP。
此扩展的限定名称为 envoy.http.original_ip_detection.xff
注意
此扩展旨在对不受信任的下游流量具有鲁棒性。它假定上游是可信的。
提示
此扩展扩展并可与以下扩展类别一起使用
此扩展必须使用以下类型 URL 之一配置
{
"xff_num_trusted_hops": ...,
"xff_trusted_cidrs": {...},
"skip_xff_append": {...}
}
- xff_num_trusted_hops
(uint32) 当确定源客户端的 IP 地址时,要信任的 x-forwarded-for HTTP 标头右侧的额外入口代理跃点数量。如果未指定此选项,则默认值为零。有关更多信息,请参阅 x-forwarded-for 的文档。
只能设置
xff_num_trusted_hops
或xff_trusted_cidrs
之一。
- xff_trusted_cidrs
(extensions.http.original_ip_detection.xff.v3.XffTrustedCidrs) 当评估远程 IP 地址以确定源客户端的 IP 地址时要信任的 CIDR 范围。这用于代替 use_remote_address。当远程 IP 地址与受信任的 CIDR 匹配且发送了 x-forwarded-for 标头时,将从右到左评估
x-forwarded-for
标头中的每个条目,并将第一个公共不受信任的地址用作原始客户端地址。如果x-forwarded-for
中的所有地址都在受信任列表中,则使用第一个(最左边的)条目。这通常用于请求通过 CDN 代理时。
只能设置
xff_num_trusted_hops
或xff_trusted_cidrs
之一。
- skip_xff_append
(BoolValue) 如果设置,Envoy 不会将远程地址追加到 x-forwarded-for HTTP 标头。
注意
为了获得正确的代理行为,不建议设置此选项。为了向后兼容,如果未设置此选项,则默认值为 true。
这仅在 use_remote_address 为 false 时适用,否则 skip_xff_append 适用。
extensions.http.original_ip_detection.xff.v3.XffTrustedCidrs
[extensions.http.original_ip_detection.xff.v3.XffTrustedCidrs proto]
{
"cidrs": []
}
- cidrs
(repeated config.core.v3.CidrRange) 来自远程连接被视为可信的 CIDR 列表。