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

时间:2016-05-30 13:44:44

标签: node.js google-app-engine express

我设置app.set('trust_proxy', 1);就像this page建议的那样 但对于每个请求,它提供以下IP地址169.254.160.2 ...

req.ip => 169.254.160.2
req.ips => [ '169.254.160.2' ]

标题建议标题也具有相同的值... 那么我怎么得到ip因为所有"什么是我的ip"网站告诉我,我的IP是130.204.67.112

那么我如何在App Engine中获得真正的IP?

PS。如果重要的话,我会在我的应用中使用自定义泊坞窗容器(我认为它已经过了但仍然是)我已经从heroku迁移到需要app.enable('trust_proxy')的地方并且确实有效。

1 个答案:

答案 0 :(得分:3)

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

var ip = req.headers['x-appengine-user-ip'];

注意:有些人会使用undefined获得x-appengine-user-ip:您可以使用x-forwarded-for进行测试。 (TY Jay)