geoip_proxy_recursive

此指令在 NGINX 中为代理服务器启用递归的地理 IP 查找。 — NGINX HTTP Core

geoip_proxy_recursive
http
语法geoip_proxy_recursive on | off;
默认值off
上下文http
模块NGINX HTTP Core
参数flag

说明

在 NGINX 的 `http` 上下文中使用 `geoip_proxy_recursive` 指令来控制启用 GeoIP 的代理请求的行为。当设置为 'on' 时,该指令允许模块对客户端的地理信息执行递归查找。这在客户端通过多个代理连接的场景中特别有用,可在确定地理位置时保留原始客户端的 IP 地址。该指令确保 GeoIP 模块从客户端的真实 IP(而不是最后一个代理的 IP)获取数据。 当启用该指令时,NGINX 会检查诸如 `X-Forwarded-For` 或 `X-Real-IP` 之类的头以检索真实的客户端 IP 地址。如果这些头包含多个地址,NGINX 会遍历它们以查找始发 IP 地址,从而为 GeoIP 查找提供准确的位置数据。该功能对需要基于地理位置提供目标内容或实施基于地理位置的安全措施的应用至关重要。 该指令被解释为一个标志,意味着它具有二元状态。要么激活(设置为 'on'),要么不激活(设置为 'off')。其行为与 NGINX 在开启或禁用指令之间切换的整体设计一致,根据环境配置的具体需求提供灵活性。

配置示例

http {
    geoip_proxy_recursive on;
    geoip_country /path/to/GeoIP.dat;
}

确保已安装并正确配置 GeoIP 模块。

在不了解代理如何影响 IP 地址头的情况下使用此指令,可能导致地理数据不准确。

在未正确设置头部的情况下,代理顺序错误可能导致用于 IP 查找的值丢失。