【问题标题】:How to get the IP address of the request to a Heroku app?如何获取对 Heroku 应用程序的请求的 IP 地址?
【发布时间】:2017-01-09 09:05:09
【问题描述】:

Heroku 有一个路由系统来将请求转发给 dyno。我的应用程序需要知道请求来自哪里,但它总是在网络中获取随机地址,可能是 Heroku 的内部。

我在日志中看到,它(Heroku 的路由器)获取我的 IP 地址并转发请求。有没有办法获取请求的实际 IP 地址?

我的应用程序是用 Python 编写的,使用 Flask

【问题讨论】:

标签: python heroku flask ip-address


【解决方案1】:

查看 Flask 关于过滤头等的文档,我发现:

request.headers['X-Forwarded-For']

是您获取客户端真实 IP 地址的地方。


从 OP 删除的评论中,本文提供了safer solution

【讨论】:

  • @Leva7 正如那篇文章提到的,X-Forwarded-For 会为每次转发附加一个新 IP。这就是为什么我没有选择返回的第一个值。我只是指出您可以在其中找到客户真实 IP 的标题。你想如何实际解析它,是你自己的任务。 :) 我也会把你给出的链接放在我的答案中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-02-18
  • 2021-08-06
  • 2020-12-31
  • 1970-01-01
  • 1970-01-01
  • 2019-02-01
  • 2010-10-26
相关资源
最近更新 更多