最近有一个项目,客户做了网络安全设置服务器无法访问外网。
微信支付接口需要调用https://api.weixin.qq.com/sns/oauth2/access_token 接口来获取openid。不通外网的话就无法访问这个地址。
客户说防火墙只能设置点对点的IP访问。后来网上查询资料说api.weixin.qq.com对应的IP地址是一直在变的。
参考了微信开发文档
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140187
中的接口
https://api.weixin.qq.com/cgi-bin/getcallbackip?access_token=ACCESS_TOKEN
来获取微信服务器IP地址。下载了IP地址列表后、在用ping api.weixin.qq.com地址、上午和下午ping的2个地址不一样、最郁闷的是这2个地址还不在下载的IP地址列表里的。
现在有下面的疑问:
1.通过getcallbackip接口获取的IP列表、实际ping的IP不在这个列表中。
2.微信IP列表中有几十个IP、是不是都加到防火墙后就可以访问https://api.weixin.qq.com/sns/oauth2/access_token
这个大家是怎么处理的。不通过外链。