Ruby on rails 使用cloudflare时在rails中获取客户端IP
这让我有点困惑。 根据文档,如果有人通过代理访问cloudflare,cloudflare将依次按以下顺序设置X-Forwarded-For标头:Ruby on rails 使用cloudflare时在rails中获取客户端IP,ruby-on-rails,Ruby On Rails,这让我有点困惑。 根据文档,如果有人通过代理访问cloudflare,cloudflare将依次按以下顺序设置X-Forwarded-For标头:X-Forwarded-For:client ip,proxy ip 但是当我在rails中调用request.ip时,它将返回proxy-ip,而不是client-ip 那么为什么rails没有返回客户端ip?它是否与工业规范()不一致 编辑: 这就是我如何快速测试Rails如何返回代理ip的方法 command ==================
X-Forwarded-For:client ip,proxy ip
但是当我在rails中调用request.ip
时,它将返回proxy-ip
,而不是client-ip
那么为什么rails没有返回客户端ip
?它是否与工业规范()不一致
编辑:
这就是我如何快速测试Rails如何返回代理ip的方法
command
============================
curl -H "X-Forwarded-For: 74.125.130.100, 206.190.36.45" http://localhost:3000/
index.html
============================
request.ip: <%= request.ip %>
request.remote_ip: <%= request.remote_ip %
命令
============================
卷曲度-H“X-For:74.125.130.100206.190.36.45”http://localhost:3000/
index.html
============================
request.ip:
request.remote_ip:我认识的一位专家指出:
Rails返回链中最右边的不可信ip。这是为了对付IP欺骗。我认识的一位专家指出:
Rails返回链中最右边的不可信ip。这是为了对付IP欺骗