微信官方没有对外公布固定不变的接口服务器IP地址,它背后是一个动态调度的IP池,官方推荐的调用方式是始终使用域名(api.weixin.qq.com)接入,而不是把某个IP写死在程序或防火墙规则里。
很多开发者第一次对接微信开放平台时,第一反应就是去查“微信接口服务器IP到底是什么”,然后打算把IP配置到自己的服务器上,结果在网上搜到的IP千奇百怪,有的能通、有的超时,甚至同一个答案在不同时间段打开结果都不一样,这篇文章就把这件事彻底讲明白:微信的服务器IP机制是怎样的、白名单到底怎么填、以及遇到IP相关报错时怎么排查。
微信接口为什么没有固定IP地址
要回答“微信接口服务器IP地址是什么”,先得理解一个前提:微信的接口服务从来就不是由一台服务器承载的,它是以大规模集群方式部署的,服务器分布在不同地域的多个数据中心,对外表现为一个域名下的多个IP节点。
动态调度是大型平台的标配
接口调用量每秒都有数十万次,如果IP固定,扩容和负载均衡实现起来极其麻烦。几乎所有头部互联网平台的开放接口都不提供固定IP,这是行业共识,动态调度可以让流量分配到不同机房,一下扛住高并发,也能在机房故障时自动切换流量。
安全防护需要隐藏真实节点
固定IP等于把服务器位置直接暴露给外界,DDoS攻击、恶意扫描的成本会大幅降低,微信采用动态IP策略,既实现了流量分散,又增加了攻击者对源站进行精准打击的难度。
域名才是官方认定的唯一入口
微信公众平台开发者文档写得很清楚,所有接口调用都基于域名,不存在“IP直连”的接入方式,开发者应当把域名当作服务的唯一逻辑入口,当微信侧调整机房或IP节点时,你的代码完全感知不到,这就直接回答了“微信服务器IP地址固定吗”的疑问不固定,且无需关心。
api.weixin.qq.com 解析出的IP为什么会不同
你可以在服务器上执行一条命令,很直观地看到微信接口服务器的当前IP节点:
nslookup api.weixin.qq.com
返回结果可能包含多个地址:
Name: api.weixin.qq.com
Address: 101.226.103.106
Address: 140.207.97.115
看起来拿到了确切的IP,于是有人就把这些地址填到了安全组放行列表里。

短期看能跑通,但这是一个隐患较大的操作方式。
DNS解析结果受CDN调度影响
api.weixin.qq.com 并不是单薄的记录,而是经过智能DNS调度系统处理的。不同地区、不同运营商、不同时间解析到的IP都会不同,你看到的IP只是调度系统给你这台机器匹配的最优入口,并非微信业务服务器的完整清单。
写死IP会导致突发的连接失败
如果代码中把某个IP当作常量使用,一旦微信侧调整调度策略,你的请求就会直接超时或建立连接失败。正确的做法是在代码中始终以域名发送请求,让操作系统的DNS解析器去处理地址变动。
import requests
url = "https://api.weixin.qq.com/cgi-bin/token"
params = {
"grant_type": "client_credential",
"appid": "你的AppID",
"secret": "你的AppSecret"
}
resp = requests.get(url, params=params, timeout=10)
print(resp.json())
这样写,无论微信的IP怎样更换,你的业务代码都不受影响。
微信公众号服务器IP白名单怎么设置才正确
这是开发者最容易踩坑的一个环节,在公众号后台“基本配置 – IP白名单”里,官方要求填写IP,但很多人在这一步填错了对象。
白名单校验的是调用方IP
IP白名单限定的不是“微信接口服务器的IP”,而是你自己的服务器出口公网IP,微信的接口服务器会查看连接来源,校验来源IP是否在公众号后台配置的白名单内,不在名单里就拒绝请求。
典型的报错信息是:
"errcode": 40164, "errmsg": "invalid ip ... not in whitelist"
出现这行提示时,说明当前请求来源IP没有通过校验,那微信公众号服务器IP地址怎么查?不需要查,需要确认的是你自己服务器的外网出口IP。
想拿到自己的公网出口IP,方法也很直接:
- 在服务器上执行
curl ifconfig.me - 在云服务器控制台查看公网IP(弹性IP)
- 企业内网机器问网络管理员要NAT公网出口
不同环境下的白名单填入值
| 服务器部署环境 | 白名单中填写的IP | 备注 |
|---|---|---|
| 酷番云CVM | 公网弹性IP | 不是内网IP,控制台可查 |
| 简米云ECS | 公网IP(EIP) | 绑定弹性IP的填EIP地址 |
| 公司自建机房 | NAT公网出口IP | 需要确认流量是否统一走NAT |
| 微信云托管 | 无需填写 | 同环境自动通过白名单校验 |
表格里的场景已经覆盖大多数开发者的部署环境,如果你的出口IP经常变动,建议联系网络服务商申请固定公网IP,或者在微信云托管上部署业务,那就不需要手动配置白名单,从根上省去这个麻烦。
微信接口服务器域名与IP对应关系详解
在实际开发中,你会接触到不止一个域名。各个域名的IP池相互独立,配置放行规则时需要分开处理。
公众平台基础接口域名
| 域名 | 用途说明 |
|---|---|
| api.weixin.qq.com | 核心API统一入口,access_token、消息发送等全走这里 |
| open.weixin.qq.com | 网页授权登录、扫码登录跳转域名 |
| mp.weixin.qq.com | 公众号后台管理、素材下载使用 |
调用频次最高的是第一个,素材下载环节有一个细节值得注意:图片、语音、视频的下载服务器并非和API共用一套IP池,它的调度链路更长,放行时要确保服务器能正常访问该域名全路径,而不是仅放行单个IP。
微信支付接口域名
支付相关请求走的是 api.mch.weixin.qq.com,IP池与公众平台完全隔离,该域名对延迟和稳定性极为敏感,相当一部分支付超时问题出在网络链路上,比如跨地域调用、未走内网解析。
如果在酷番云上部署支付业务,推荐使用酷番云内部DNS解析该域名,会拿到内网链路地址,降低一层公网跳数,延迟表现会更稳定。
企业微信与小程序接口
- 企业微信接口域名是 qyapi.weixin.qq.com
- 小程序业务校验域名是 api.weixin.qq.com 的一部分
- 小游戏资源加载有独立的合法域名配置
不同业务域名的证书体系不同,不要混用IP或域名去访问,否则会出现证书校验失败、签名错误这一类问题。
微信服务器IP查询方法与开发环境配置建议
尽管不推荐写死IP,但在一些安全合规场景下,比如集团防火墙要放行外部访问规则,确实需要知道微信接口服务器的IP范围,可以按下面的操作获取当前解析结果,但它只代表查询时刻的状态。

三条命令轻松拿到当前IP
在服务器或本机终端执行其中任意一条均可:
# Linux / macOS 推荐使用 dig
dig api.weixin.qq.com +short
# Windows 用户使用 nslookup
nslookup api.weixin.qq.com
# host 命令也能完成解析
host api.weixin.qq.com
把返回的IP逐一记录下来,在防火墙中按IP段放行即可。放行端口只需要80和443,不要全部端口放开,这有助于降低服务器被扫描的风险。
排障实践:当请求微信接口超时
大部分情况下,你的服务器无法连接微信接口,问题并不在微信侧,而在于自己的网络策略或DNS缓存,按以下步骤排查:
- 先执行
curl -I https://api.weixin.qq.com,观察HTTP状态码是否正常 - 检查服务器系统时间,偏离标准时间超过1分钟会导致TLS证书验证失败
- 执行
nslookup api.weixin.qq.com,确认解析结果不为空 - 在安全组和本地防火墙里放行目标IP的443端口
- 最后再考虑微信侧是否有大面积故障,可通过微信开放社区公告确认
操作系统缓存了旧的DNS解析结果时也容易出现连接异常,清理方式如下:
# Ubuntu / Debian 系
sudo systemctl restart systemd-resolved
# CentOS / RHEL 系
sudo systemctl restart NetworkManager
微信服务器IP地址相关问题解答
微信API接口的服务器IP是多少
无法给出一个固定答案,因为微信官方没有开放静态IP清单,当前解析 api.weixin.qq.com 得到的IP仅代表这一时刻的调度结果,之后可能变化,开发者应以域名为准,不要将具体IP固化到代码中。
公众号后台配置IP白名单时填微信的IP还是自己服务器的IP
填自己的服务器出口公网IP,微信后台校验的是请求发起方的IP,也就是你的服务器去访问微信时显示的来源地址,填入微信的IP反而会导致校验失败,这是大多数40164报错的原因。
服务器更换IP后需要重新配置白名单吗
需要,每次更换服务器出口IP,都要同步更新公众号后台白名单中对应的IP值,频繁变更出口IP容易带来遗漏,推荐为业务服务器申请固定公网IP,或使用微信云托管这类无需白名单的部署方案,让整个调用链路更省心。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/796030.html


评论列表(5条)
这篇文章的内容非常有价值,我从中学习到了很多新的知识和观点。作者的写作风格简洁明了,却又不失深度,让人读起来很舒服。特别是地址部分,给了我很多新的思路。感谢分享这么好的内容!
读了这篇文章,我深有感触。作者对地址的理解非常深刻,论述也很有逻辑性。内容既有理论深度,又有实践指导意义,确实是一篇值得细细品味的好文章。希望作者能继续创作更多优秀的作品!
这篇文章的内容非常有价值,我从中学习到了很多新的知识和观点。作者的写作风格简洁明了,却又不失深度,让人读起来很舒服。特别是地址部分,给了我很多新的思路。感谢分享这么好的内容!
@月马1835:读了这篇文章,我深有感触。作者对地址的理解非常深刻,论述也很有逻辑性。内容既有理论深度,又有实践指导意义,确实是一篇值得细细品味的好文章。希望作者能继续创作更多优秀的作品!
这篇文章写得非常好,内容丰富,观点清晰,让我受益匪浅。特别是关于地址的部分,分析得很到位,给了我很多新的启发和思考。感谢作者的精心创作和分享,期待看到更多这样高质量的内容!