所以我试图获取 Heroku 上我的应用程序的访问者的 IP 地址,为此使用 API,该 API 在本地运行良好,但是当我在 Heroku 上部署应用程序时,我得到了 Heroku 服务器的 IP,它是一个express.js应用程序并且正在使用此设置
app.set('trust proxy', true);
我见过很多解决这个问题的方法,但没有一个解决方案适合我。
当我使用时
var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
我得到这个结果
clientIp: '::1',
最佳答案
首先,您必须安装此模块npm i ipware
var get_ip = require('ipware')().get_ip;
app.use(function(req, res, next) {
var ip_info = get_ip(req);
console.log(ip_info);
// { clientIp: '127.0.0.1', clientIpRoutable: false }
next();
});
请注意,结果是对象形式,获取 IP 地址应该很简单
ip_info.clientIp
所以我想这应该有帮助。
关于javascript - 返回网站访问者的 IP 地址而不是 Heroku 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66534579/