跳到主要内容

真实来源 IP

Orbien 支持两种方式获取 / 传递真实访客 IP。

方式一:请求头注入

适用于 HTTP / HTTPS 代理协议。无需额外配置:服务端收到访客请求后,自动将访客 IP 写入 X-Forwarded-For,再转发给内网真实服务, 应用直接读取 X-Forwarded-For请求头即可。

var realIp = request.getHeader("X-Forwarded-For");

方式二:HAProxy PROXY Protocol

适用于 Orbien 前置 HAProxy / Nginx / 云负载均衡的场景。LB 通过 PROXY Protocol v1/v2 把真实访客 IP 传给 Orbien,用于访问控制、日志,以及 HTTP(S)的 X-Forwarded-For 注入。

适用代理协议:HTTP / HTTPS / TCP / SOCKS5

# orbien-server.toml
[proxy_protocol]
enabled = true
#strict = false
#trusted_proxies = ["10.0.0.1", "192.168.1.0/24"]

内网真实服务同样通过下列方式可获取真实IP (适用于HTTP/HTTPS代理协议)

var realIp = request.getHeader("X-Forwarded-For");

参数说明

参数名类型默认值描述必填
enabledBooleanfalse是否启用 PROXY Protocol 解析
strictBooleanfalsetrue 时无 PROXY 头则拒绝;false 允许直连
trusted_proxiesArray可信 LB IP 或 CIDR;为空表示信任所有对端
说明
  • 仅当对端命中 trusted_proxies(或列表为空)时才信任 PROXY 头,否则忽略并回退到 TCP 对端地址
  • 前置 LB 需开启 PROXY Protocol,并保证 Orbien 服务端看到的是 LB 地址
  • 与方式一可叠加:PROXY 先还原真实 IP,HTTP 再注入到 X-Forwarded-For