【问题标题】:Nodejs ip address result ::1Nodejs ip地址结果::1
【发布时间】:2017-07-02 09:12:35
【问题描述】:

我有一个非常有趣的问题。我有一个网站,我想获取客户端 IP 地址。我找到了一些解决方案,但它们都不起作用。我正在使用 nginx。

我正在使用 expressjs

app.post("/api/test",(req, res)=>{
console.log(req.header('x-forwarded-for')) // result "::1"
console.log(req.connection.remoteAddress) // result "::1"
console.log(req.ip) // result "::1"
})

我尝试使用 3 方框架,但结果相同。

【问题讨论】:

  • 好像是配置问题,::1表示localhost。您是否使用某种代理机制?还是您的服务器在本地机器上运行?

标签: node.js ip-address clientip


【解决方案1】:

如果您在本地主机上工作,这很正常,尝试在服务器上记录此内容,您将获得用户的地址。

或者你可能在你的节点服务器前面运行 nginx 或类似的反向代理,在这种情况下你应该设置正确的标头

对于 nginx,你需要这个

proxy_set_header        X-Real-IP       $remote_addr;
proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

查看here了解更多信息

【讨论】:

    猜你喜欢
    • 2011-06-04
    • 1970-01-01
    • 2011-12-23
    • 1970-01-01
    • 1970-01-01
    • 2019-01-08
    • 2019-05-20
    相关资源
    最近更新 更多