SafeLine icon indicating copy to clipboard operation
SafeLine copied to clipboard

[建议] 允许用户分别对 IPV4 与 IPV6 指定获取源 IP 的 Header

Open gitiy1 opened this issue 1 year ago • 2 comments
trafficstars

背景与遇到的问题

目前雷池在与 Clodflare CDN 的免费计划搭配使用时在获取访客真实 ip 上有一定的机制问题,具体原因是因为 Cloudflare 的免费计划中对于访客 ip 的处理 IPV4 与 IPV6 是分开的机制,然后 Cloudflare 返回访客真实 IP 一共有 X-Forwarded-For,CF-Conneccting-IP,CF-Connecting-IPv6 三个请求头,当访客 IP 为 IPV4 时,CF 的 X-Forwarded-For 与 CF-Conneccting-IP 请求头均可正常返回正确值,雷池正常判定。但当访客 ip 为 IPV6 时,CF 免费版可供选择一共只有三种,一是不返回,即不返回任何有关访客真实 IP 的信息,二是添加标头,即仅添加 CF-Connecting-IPV6 作为返回值,其他两项为空值,三是覆写标头,这种情况下 Cloudflare 会对 X-Forwarded-For,CF-Conneccting-IP 覆写一个 内网 IPV4 地址,而 CF-Connecting-IPv6 方可获取正确的 ipv6 地址,然而雷池的源 IP 获取方式无论是 IPV4 或者 IPV6 均只可从一个请求头获取,在这种情况下较为局限。

建议的解决方案

源 ip 获取分为 IPV4 与 IPV6 两种情况,允许用户分别对 IPV4 与 IPV6 指定HTTP Header

gitiy1 avatar Jan 22 '24 15:01 gitiy1

relate to:

  • https://github.com/chaitin/SafeLine/issues/301

Lorna0 avatar Feb 05 '24 08:02 Lorna0

  • https://github.com/chaitin/SafeLine/issues/301

5.4 版本支持了从 XFF 中解析源 IP,可以尝试一下是否能直接解决这个问题。

Lorna0 avatar May 07 '24 07:05 Lorna0

问题建议反馈请移步 https://rivers.chaitin.cn/discussion

xbingW avatar Sep 19 '24 03:09 xbingW