如何从 IBM Cloud 函数中获取远程 IP

Posted

技术标签:

【中文标题】如何从 IBM Cloud 函数中获取远程 IP【英文标题】:How to get remote IP from IBM Cloud functions 【发布时间】:2022-01-04 23:35:21 【问题描述】:

我正在 IBM Cloud 上编写一个无服务器函数;我的代码需要根据远程 IP 采取行动,按国家/地区过滤请求。如何获取连接详情,例如 Express req.ip 或 Node request.connection.remoteAddress

【问题讨论】:

请提供更多上下文。谁在调用谁,哪个代码调用了什么? IP源是什么?您是将操作作为 webhook / API 调用还是作为函数调用调用它,例如,按顺序调用? 感谢您的评论,很遗憾目前没有答案。但是,我在从 http 请求调用操作时尝试获取源 IP 【参考方案1】:

我最近就此事联系了 IBM Cloud 支持。他们说还不支持。

在测试 Cloud Functions 时,我想检查是否可以使用客户端的 IP 地址进行地理定位。这是我工作中的一个用例(我们现在不使用 IBM Cloud,我们使用 GKE)。我通过创建一个测试函数注意到,当我将其作为 Web 操作时,我能够记录标题。我注意到有两个标头似乎包含客户端(我的 Web 浏览器)的 IP 地址,但它不是正确的 IP。我现在的 IP 是……但是根据 LogDNA 中的日志,标头 X-Forwarded-For 和 X-Real-IP 包含 IP 172.70.130.199。

他们的回复:

感谢您的耐心等待,功能团队确认此功能尚不支持,并已提交给开发团队进行审核以添加到开发管道中。很抱歉给您带来不便,如果您有更多疑虑,请随时告诉我们。

【讨论】:

这正是我的问题。谢谢。 不客气。不过,您也可以随意打开请求该功能的支持票。我想他们只会实现人们最想要的。

以上是关于如何从 IBM Cloud 函数中获取远程 IP的主要内容,如果未能解决你的问题,请参考以下文章

在 Azure 函数中获取远程 IP 地址

IBM Cloud Functions 和 Node.js:如何获取日本时间?

springcloud如何获取hostname和ip

如何在 ibm_cloud 上的 db2 中编写 sql 查询

如何获取对 Google Cloud Functions(不是 Firebase)的 HTTP 请求源的 IP 地址?

从 IBM Z/OS 获取日志