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;

проверьте здесь для получения дополнительной информации

Другие вопросы по тегам