You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在IBM Cloud Functions中获取请求的远程IP地址

IBM Cloud 无服务器函数获取客户端远程IP方案
  • IBM Cloud 无服务器函数(基于OpenWhisk架构)的所有请求元数据都内置在入口函数的入参中,你不需要引入Express这类框架,也不需要调用Node.js底层的连接属性,直接从系统透传的字段取值即可
  • 客户端真实IP默认存放在请求头 x-forwarded-for 中,你可以从入参的 __ow_headers 字段直接获取:
// 无服务器函数入口
function main(params) {
  // x-forwarded-for可能包含多级代理IP,第一个值为真实客户端IP
  const rawForwardedIp = params.__ow_headers['x-forwarded-for'];
  const clientIp = rawForwardedIp ? rawForwardedIp.split(',')[0].trim() : null;

  // 拿到clientIp后即可执行国家过滤等业务逻辑
  return {
    statusCode: 200,
    body: {
      clientIp: clientIp
    }
  };
}
  • 如果你需要其他连接相关的请求信息,都可以遍历 __ow_headers 字段查询,所有公网请求的标准HTTP头都会透传到这个对象中
  • 测试注意:如果直接在IBM Cloud控制台的函数测试界面触发调用,没有真实公网请求链路,x-forwarded-for 头会为空,走API网关绑定的公网触发地址调用即可正常拿到IP值

内容的提问来源于stack exchange,提问作者pierpy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 18:06:01