Cloudflare 更改传入请求的 IP 地址,因为 Cloudflare 是我的网站和 Internet 之间的中间件,一个代理。
我应该如何获取请求的初始 IP 地址,而不是 Cloudflare 的 IP 地址。我听说过 mod_cloudflare
,但这个插件是否只更新我日志中的 IP 地址(?)而且我没有找到适用于 Nginx 的版本。
最佳答案
Cloudflare 设置 CF-Connecting-IP
and the X-Forwarded-For
headers在每个请求上
您可以简单地从他们的特殊 header 中获取 IP:
let ip = req.headers['cf-connecting-ip']
如果您希望请求来自 Cloudflare 之外,您可以通过以下方式获取这些 IP:
let otherIp = req.headers['x-forwarded-for'] || req.connection.remoteAddress
不过,请注意,其他代理(如 Nginx)也会设置 x-forwarded-for
header 。
关于javascript - 获取请求的客户端 IP 地址而不是 Cloudflare 的 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52026610/