访问的腾讯API接口常常出问题,致使微信支付支付不了

一、服务器基础环境

[root@app2-192-168-10-90 ~]# cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core) 
[root@app2-192-168-10-90 ~]# cat /etc/sysconfig/network-scripts/ifcfg-em1
DNS1=223.5.5.5
DNS2=223.6.6.6
ZONE=public

二、问题反馈,应用程序开发反馈腾讯的API接口常常出问题,致使微信支付支付不了。

2.1 服务器上测试ping api.mch.weixin.qq.com 偶尔会出现 “未知的名称或服务”

[root@app2-192-168-10-90 ~]# ping api.mch.weixin.qq.com
ping: api.mch.weixin.qq.com: 未知的名称或服务
[root@app2-192-168-10-90 ~]#

2.2 而且有时候还会出现第一次DNS解析很是慢的问题。

服务器DNS正常设置为阿里云DNS服务器 223.5.5.5vim

三、问题缘由

options single-request-reopen
  LINUX DNS客户端解析缓慢的其中一个缘由是CentOS 6/CentOS 7老是须要等待AAAA(IPv6)的结果,即便关闭IPv6也没什么卵用。CentOS 6/CentOS 7中的DNS解析器对于ipv4和ipv6都使用同一个socket接口(如上图),在同时发出ipv4和ipv6解析请求后,只会收到一个ipv4的解析响应,此时socket将一处于“等待”模式,等待ipv6的解析响应,故致使解析缓慢;添加single-request-reopen后就能够从新打开一个新的socket接收ipv6的解析响应,而不影响ipv4的解析响应.
options timeout:1 attempts:1 rotate
rotate:这个参数的含义是随机选取一个做为查询的dns server,默认为按照顺序从上往下。

timeout:查询一个nameserver的超时时间,单位是秒。系统缺省是5,最大能够设为30。设置为1S超时便可,不然等AAAA回应就到地老天荒了,浪费时间。

attempts:这个是查询的整个都尝试一遍的次数,默认LINUX会发出好几回DNS查询包,让查一次便可,浪费时间。

三、解决方法: vim /etc/resolv.conf 添加以下参数

# Generated by NetworkManager
options timeout:1 attempts:1 rotate
options single-request-reopen
nameserver 119.29.29.29
nameserver 223.5.5.5
# 您查询的IP:119.29.29.29
*   本站数据:广东省广州市 腾讯云计算(北京)有限责任公司 腾讯云
*   参考数据1:DNSPOD.COM tencent.com
*   参考数据2:中国
*   网友提交的IP:广东省广州市 腾讯云DNS服务器
*   兼容IPv6地址:::771D:1D1D
*   映射IPv6地址:::FFFF:771D:1D1D

四、直接修改resolv.conf 只能临时生效,重启network服务后就会失效.防止重启network服务后配置失效,请以下操做。

chattr +i /etc/resolv.conf ~

4.1 修改后查看文件状态

[root@app1-192-168-10-80 ~]# lsattr /etc/resolv.conf 
----i----------- /etc/resolv.conf

4.2 chatter 使用说明:

```
chatter: 锁定文件,不能删除,不能更改
+a: 只能给文件添加内容,可是删除不了,
chattr +a /etc/passwd
-d: 不可删除
加锁:chattr +i /etc/passwd 文件不能删除,不能更改,不能移动
查看加锁: lsattr /etc/passwd 文件加了一个参数 i 表示锁定
解锁:chattr -i /home/omd/h.txt - 表示解除centos



相关文章
相关标签/搜索