2017-02-14 80 views
2

我有一個真正有趣的問題。我有一個網站,我想獲得客戶端IP地址。我發現了一些孤獨但沒有一個工作。我正在使用nginx。Nodejs的IP地址結果:: 1

我使用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方freamwork但結果相同。

+0

似乎是一些配置問題,':: 1'表示'localhost'。你使用某種代理機制?或者你的服務器在本地機器上運行? –

回答

0

如果你正在使用本地主機,這是正常的嘗試在服務器上記錄這一點,你會得到用戶的地址。

或者你可能在這種情況下運行在您的節點服務器的前面nginx的或類似的反向代理應該設置適當的頭

爲nginx的你需要這個的人

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

檢查here更多信息