应用台导航页
  • 主页
  • 博客
  • 知识库
  • 工作台
  • 集萃
  • 友链
  • 关于
为什么 vercel 中配置了 serverless function,但 http 响应报文的远程地址仍然为美国 ip

为什么 vercel 中配置了 serverless function,但 http 响应报文的远程地址仍然为美国 ip

技术
更新于 2026-01-03
— 1000 字
返回

Vercel 的全球加速(Edge Network)依赖 Anycast 网络 和 边缘节点(Edge Node) 两层架构,Anycast 使得网络层的远程地址 ≠ 实际处理请求的节点地址 。

  1. Anycast 任播地址:Vercel 的核心服务 IP 是任播地址(注册在美国)。任播的特点是:全球所有节点共享同一个 IP 地址,但网络会自动将请求路由到距离客户端最近的边缘节点。
  2. 边缘节点与源服务器的分离:Vercel 的边缘节点负责静态资源缓存、请求路由、CDN 加速,大部分静态页面/资源直接从边缘节点返回,无需回源。只有动态请求(如 Serverless Functions)才会按需转发到源服务器,但边缘节点会优先处理,保证速度。

如何确认实际服务节点?

可以通过以下方式验证边缘节点的存在:

  1. 查看响应头中的 x-vercel-id Vercel 的响应头会包含 x-vercel-id: [节点标识]-[区域],例如 x-vercel-id: hkg1::xxx 表示来自香港节点(hkg = 香港)。
  2. 使用 traceroute/mtr 工具 在国内执行 traceroute vercel.app 会发现,数据包的前几跳会到达中国周边的节点,而非直接跳转到美国。

总结

Vercel 的全球加速不是靠改变 TCP 连接的远程 IP,而是靠Anycast 任播技术 + 边缘节点缓存:

  • 客户端的 TCP 连接始终指向 Vercel 的共享任播 IP(美国地址),因此远程地址显示美国。
  • 但网络层会自动将请求路由到最近的边缘节点,实现低延迟和高速度。

这种设计在实现全球加速的同时保证了 IP 地址的统一性。

参考

https://vercel.com/docs/domains/troubleshooting#does-my-domain-ip-address-on-vercel-resolve-to-a-geographic-region 中提到:在 Vercel 配置顶级域名(如 example.com)时,平台会提供一个 IP 地址,你需将其设为 DNS 的 A 记录。该 IP 虽对应特定地理节点,但用户访问域名时,并不会被定向到该节点解析。原因在于 Vercel 使用的是任播 IP 地址(多区域共享)。即便不同地区用户解析到同一个 IP,系统也会基于边界网关协议(BGP),将流量路由到离用户最近的 CDN 节点。

dors logoDors

Dors 是花野猫开发为知识工作者打造的数字花园应用,包含的博客、个人记事本、及其他实用功能。

花园

  • 花坛——博客
  • 果园——知识库

工坊——作者开发的实用工具

  • 小记
  • 秒切——一键按秒分割视频
  • 中国重点高校地理位置可视化网站
  • 中国行政区划数据查询平台
  • excel 重命名工具

misc

  • 生活章程
  • 画廊
  • just have fun!
  • 月度随记

© 2022 - present. All Rights Reserved.滇ICP备2025063395号-1

花野猫打造