Node / Express.js: получение IP-адреса клиента при использовании прокси - PullRequest
0 голосов
/ 07 марта 2019

Я новичок в Узле и Экспрессе. Я пытаюсь получить 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?

...