Получите доступ к 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;
}
}
});