如何从App Engine获取真实请求客户端的IP

Иво*_*тев 3 google-app-engine node.js express

我已经按照此页面app.set('trust_proxy', 1);建议的方式进行设置,但对于每个请求,它都会给出以下 IP 地址 169.254.160.2 ...

req.ip => 169.254.160.2
req.ips => [ '169.254.160.2' ]
Run Code Online (Sandbox Code Playgroud)

标头建议的标头也具有相同的值...那么我如何获取 ip,因为所有“我的 ip 是什么”网站都告诉我我的 ip 是 130.204.67.112

那么我如何在App Engine中获取我的真实IP?

附:如果这很重要的话,我正在为我的应用程序使用自定义的 docker 容器(我认为它不重要,但仍然)我已经从它需要的地方迁移到了它app.enable('trust_proxy')并且它确实有效。

mal*_*lix 6

您可以x-appengine-user-ip直接使用标头:

var ip = req.headers['x-appengine-user-ip'];
Run Code Online (Sandbox Code Playgroud)

注意:有些人会undefined使用x-appengine-user-ip: 你可以用 来测试x-forwarded-for。(TY杰伊)