首页 > 解决方案 > 在请求中获取客户端域

问题描述

我有公共 GCP 云功能:

exports.helloWorld = (req, res) => {
  let message = req.query.message || req.body.message || 'Hello World!';
  console.log(req.headers.origin);
  res.status(200).send(message);
};

我需要获取客户端的域,这将调用此函数。'req.headers.origin' 返回 'undefined' 和 'req.headers.host' 返回我的云函数的链接。

标签: node.jspostgoogle-cloud-platform

解决方案


当您的函数被调用时,该req参数包含来自 Express 的 Request 对象。可以在此处找到相关文档。该对象包含一个名为的字段ip,它是调用者的 IP 地址。

我们还将在标头中找到相同的 IP 地址x-forwarded-for

我们不会在数据中找到域名(例如 xyz.com)。我认为你会发现最好的是呼叫者的 IP 地址。您也许可以使用 DNS 执行 IP 地址查找……请参阅reverse()函数。


推荐阅读