我对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

10-05 20:52
查看更多