微信支付接入IP裁撤变更,不影响直接使用DNS解析微信支付域名的业务。商户的技术或运维人员可在调用微信支付接口的服务器上检查是否有使用裁撤IP的配置,如有使用,请在业务低峰期进行处理和操作,避免影响业务。
注意事项:
- 如有多个服务或业务对接微信支付接口(支付、退款、查单、对账等),请充分检查每个服务器的相关配置,确保待裁撤IP的相关配置都已完成处理。
- 如果内部网络链路较长,根据网络链路逐一排查,是否有节点缓存未清除(转发器,节点路由器等)。
- 如果有安全策略限制,如防火墙拦截,需先把新IP加入白名单,再执行host文件更新。
检查与操作步骤:
1、检查服务器是否有使用裁撤IP的配置
A)登录调用微信支付接口的服务器,ping微信支付IP裁撤涉及的域名(例如 api.mch.weixin.qq.com),如果出现的IP是公告中的待裁撤IP,则需要调整。
B)检查服务器是否配置了hosts,且指向待裁撤IP
Linux服务器检查/etc/hosts配置文件是否配置了api.mch.weixin.qq.com的hosts
Windows服务器检查 C:\Windows\System32\drivers\etc\hosts配置文件是否配置了api.mch.weixin.qq.com的hosts
C)删除hosts配置文件的裁撤IP配置,或把IP更新为公告中的新IP
如无特殊需求,不建议做hosts绑定,使用域名DNS解析可直接解析到最优IP。
D)在服务器上ping微信支付域名,确认不再请求到裁撤IP
2、检查服务器上nscd服务是否开启DNS缓存。
A)运行 ps aux | grep nscd 命令查看是否开启nscd进程
B)如果有开启nscd进程,运行nscd-g命令,查看缓存统计。如果统计数据里 host cache: yes cache is enabled, 表示host缓存已开启。
C)清除缓存: nscd -i hosts .
D)关闭服务 :nscd -k
3、检查调用微信支付接口的程序代码是否有配置裁撤IP,如有则需要改成通过域名访问
4、重启应用服务释放缓存
nginx:service nginx restart
apache:httpd -k restart
tomcat :./catalina.sh restart