Я новичок в Узле и Экспрессе. Я пытаюсь получить IP-адрес клиента.
Я пытался использовать следующее:
var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
Моя полная функция get
выглядит следующим образом:
app.get("/api/whoami", function (req, res) {
var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
res.json({
ipaddress: ip
});
});
ipaddress не показывает полный IP-адрес клиента, он показывает следующее:
"ipaddress":"::1"
Почему IP-адрес отображается как ::1
? Я понимаю, что это может быть связано с использованием прокси-сервера и тем, что в Express есть встроенные решения для работы с доверенными прокси . В документации сказано использовать что-то вроде этого:
app.set('trust proxy', 'loopback')
Я перепробовал все варианты документации Express и не могу получить правильный IP-адрес.
Как правильно настроить мой сервер Express, чтобы я мог получить реальный IP-адрес, а не ::1
?