获取在Express中请求路由的域

如果我有这个客户端应用程序运行在端口3000上,并且在我的API中build立在ExpressJS之上,在端口8080上运行,我怎么知道请求是在localhost:3000上发起的呢?

我听说有人在用:

 req.get('host') //or origin req.headers.host //or origin 

origin不存在,主机返回localhost:8080 ,即服务器端。 我想要客户的地址。

为什么在ExpressJS上获取这些信息非常困难? 任何人都知道我该怎么做?

客户端连接只有一个IP地址。 它不是“来自”一个域名。 您可以对IP地址进行反向查找,并查看它是否与域连接。 但是,大多数客户只会报告属于某个ISP的IP地址,而不是特定的域名。

如果你想检查客户端连接是否与服务器运行在同一个主机上(你提到localhost,所以我假设你的意思是这个),那么你可以比较客户端IP地址和你的服务器IP地址,看看是否他们是一样的。 您可能需要规范本地主机可以报告的各种方式,您可能需要确保一方不报告127.0.0.1而另一方报告真实IP地址。

如果你解释一下你正在努力解决的问题,那么我们可能会以另一种方式来帮助你。