Nodejs IP-адрес результата::1
У меня действительно интересная проблема. У меня есть веб-сайт, и я хочу получить 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"
})
Я пытаюсь использовать трехстороннюю работу, но результат такой же.
1 ответ
Решение
Если вы работаете на локальном хосте, это нормально, попробуйте войти на сервер, и вы получите адрес пользователя.
Или вы можете запустить nginx или аналогичный обратный прокси-сервер перед сервером вашего узла, в этом случае вам следует установить правильные заголовки
для nginx это нужно
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
проверьте здесь для получения дополнительной информации