使用 Modulus 从 Meteor 访问客户端的 IP 地址(不是负载均衡器的)
Access client's IP address (not the load balancer's) from Meteor, with Modulus
我在 modulus.io. Following the advice here 上托管了一个 https Meteor webapp 我有一个服务器方法:
Meteor.methods({
printIP: function() {
return this.connection.clientAddress;
}
});
我在实时站点上从我的浏览器控制台调用它:
Meteor.call('printIP', function(err, ip) { console.log(ip); })
但这总是returns Modulus的load balancer的IP地址,54.236.216.66.
如何访问客户端的 IP 地址而不是负载均衡器的 IP 地址?
谢谢!
通过一些实验,我找到了一个解决方案:
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;
}
}
});
我在 modulus.io. Following the advice here 上托管了一个 https Meteor webapp 我有一个服务器方法:
Meteor.methods({
printIP: function() {
return this.connection.clientAddress;
}
});
我在实时站点上从我的浏览器控制台调用它:
Meteor.call('printIP', function(err, ip) { console.log(ip); })
但这总是returns Modulus的load balancer的IP地址,54.236.216.66.
如何访问客户端的 IP 地址而不是负载均衡器的 IP 地址?
谢谢!
通过一些实验,我找到了一个解决方案:
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;
}
}
});