Получите доступ к IP-адресу клиента (не к балансировщику нагрузки) из Meteor с помощью модуля Modulus.

У меня есть веб-приложение https Meteor, размещенное на http://modulus.io/. Следуя совету здесь у меня есть метод сервера:

Meteor.methods({
    printIP: function() {
        return this.connection.clientAddress;
    }
});

Я вызываю это из консоли браузера на живом сайте:

Meteor.call('printIP', function(err, ip) { console.log(ip); })

Но это всегда возвращает IP-адрес балансировщика нагрузки Modulus, 54.236.216.66.

Как я могу получить доступ к IP-адресу клиента вместо балансировщика нагрузки?

Спасибо!

1 ответ

Решение

С некоторыми экспериментами я нашел решение:

Meteor.methods({
   printIP: function() {
      if (this.connection.httpHeaders && this.connection.httpHeaders['x-forwarded-for']) {
         return this.connection.httpHeaders['x-forwarded-for'];
      } else {
         return this.connection.clientAddress;
      }
   }
});
Другие вопросы по тегам