couldn't resolve host api.weixin.qq.com

79 篇文章 0 订阅
15 篇文章 0 订阅

从这个报错,可以很明显的发现是域名解析不了。于是做如下排查。

1. 故障排除

1. 1 测试域名是否能解析到

简单的使用ping来测试,发现DNS解析是否OK。

ping -c 1 api.weixin.qq.com

1.2 测试curl是否有故障

因为php程序调用的是curl,所以我们测试一下curl是否能够正常解析dns

curl  api.weixin.qq.com

竟然真的不行,

2. 解决问题

尝试解决方法:

修改dns

cat /etc/resolv.conf | grep names

nameserver 114.114.114.114

nameserver 8.8.8.8

重新测试curl,问题得到解决。

修改/etc/resolv.conf又恢复到原来的状态?

设置一次可以,过一会或者重启一下服务器,重启一下network都不能解析了。发现/etc/resolv.conf又恢复到原来的状态,里面什么都没有了。手动加入nameserver也不行。

后来到网上查找,发现有人与我同样的问题。原来在CentOS5.4下面直接修改/etc/resolv.conf不行。必须要在/etc /sysconfig/network-scripts/ifcfg-eth0里面最后加上dns的设置。要不然,重启后,肯定使用eth0设置中没有设 dns的相关信息,使/etc/resolv.conf恢复到原来的状态。

打开/etc/sysconfig/network-scripts/ifcfg-eth0,为了保险起见,可以同样修改eth1的设置

DEVICE=eth0 
  BOOTPROTO=none 
  HWADDR=00:xx:19:xx:xx:xx 
  ONBOOT=yes 
  TYPE=Ethernet 
  USERCTL=no 
  IPV6INIT=no 
  PEERDNS=yes 
  NETMASK=255.255.255.0 
  IPADDR=xxx.xxx.xxx.xxx 
  GATEWAY=xxx.xxx.xxx.xxx 
  DNS1=202.96.209.5 #上海dns,根据实际情况更换 
  DNS2=202.96.209.133 #上海dns,根据实际情况更换

这样设置后,/etc/resolv.conf里面根本就不需要设置。service network restart 后,可以发现/etc/resolv.conf里面就有两个dns的解析ip了。配置好以后重启网络,cat /etc/resolv.conf,可以看到如下参数:

# Generated by NetworkManager 
  nameserver 202.96.209.5 
  nameserver 202.96.209.133 
  search localdomain

DNS解析设置成功。 
  在此要强调一点的是,直接修改/etc/resolv.conf这个文件是没用的,网络服务重启以后会根据/etc/sysconfig /network-scripts/ifcfg-eth0来重载配置,如果ifcfg-eth0没有配置DNS,那么resolv.conf会被冲掉,重 新变成空值。

我购买的腾讯云,腾讯云DNS  腾讯云管理员给的

nameserver 10.138.224.65
nameserver 10.182.20.26
nameserver 10.182.24.12

针对修改/etc/resolv.conf又恢复到原来的状态的问题,腾讯云管理员把NetworkManager在0-6下都关闭(这个服务腾讯云是禁止开启的),修改/etc/resolv.conf重启后就不会恢复到原来的状态



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值