我对ip地址和标头感到非常困惑。所以,对不起,我的问题似乎很简单。
我已经看过这里列出的答案:
How to get the user IP address in Meteor server?
但是我不知道如何使它们工作。例如,我正在尝试使用:
Meteor.onConnection(function(conn) {
console.log(conn.clientAddress);
});
但我无处可寻。
如果我将其放在客户端,它说Meteor.onConnection是未定义的。如果我将其放在服务器上,则不会发生任何事情。我不认为您在meteor.startup上运行它。
有没有人可以帮助我解释在哪里使用此代码?特别是如果有人建立了自定义跟踪系统,那就太好了。您是否将ips存储到数据库中?或如何记录以进行跟踪?
任何提示都会有所帮助!谢谢
最佳答案
将代码放在服务器上的任何位置。例如在server/main.js
中。无需从Meteor.startup
内调用它。
启动应用程序。
将浏览器打开到适当的地址(例如http://localhost:3000)-这将导致Web客户端连接并运行(1)中的代码。
查看您的外壳程序输出(用于启动应用程序的外壳程序,而不是浏览器控制台),您应该看到已打印本地IP地址(127.0.0.1)。
这也可以在生产环境中使用,但是,如果您的应用是在代理(例如nginx)之后提供的,则您需要添加适当的命令以将用户的IP传递给您的应用。对于nginx,请参见this post。