阿里云 ECS 的 dns 服务 IP 改成 8.8.8.8 之后经常出现连不上数据库(RDS),改回阿里云内部 dns 100.100.2.138 问题即解决

2018-06-26 10:32:27 +08:00
 qiayue
最近一段时间,我一台服务器经常出现连接数据库报错,打印错误日志提示 mysqli_real_connect(): php_network_getaddresses: getaddrinfo failed: Name or service not known。
同时调用微信 API 也有时候报错 getaddrinfo failed: Name or service not known。

通过排除法最后发现是我之前不知道改什么把 /etc/resolv.conf 里边的 ip 改成了 8.8.8.8 导致的,通过查看其它 ECS 的这个配置文件,修改回 100.100.2.138 和 100.100.2.136 之后问题解决。

在此记录一下,也许有其他人会遇到这个问题,通过搜索引擎进来了,就能够帮助到他们。
8861 次点击
所在节点    分享发现
9 条回复
SCGabriel
2018-06-26 13:49:52 +08:00
虽然没遇到过但是谢谢了
cat9life
2018-06-26 14:16:43 +08:00
有可能是这个原因? /t/465681
qiayue
2018-06-26 14:27:46 +08:00
@cat9life 是的,就是 8.8.8.8 的问题,好多域名解析不出来,或者时而能解,时而不能
rrfeng
2018-06-26 14:29:51 +08:00
...

rds 用的自定义内网域名,8.8.8.8 当然解析不到。

不过你看一下你用的 rds 地址是公网还是内网,在 ecs 上用就关掉公网吧
qiayue
2018-06-26 14:37:48 +08:00
@rrfeng 谢谢,之前因为一些原因,保留公网和内网两种访问,接下来迁移好了,就会关掉公网访问
kimi815
2018-06-26 20:24:02 +08:00
阿里云最近出了一款内网 DNS 服务: https://www.aliyun.com/product/pvtz
能把公网的域名自己劫持掉。
goodryb
2018-06-26 21:05:04 +08:00
@rrfeng #4 “ rds 用的自定义内网域名,8.8.8.8 当然解析不到”这句话不对;自定义内网域名公网 DNS 一样可以解析


因为这个解析记录是发布到公网的,虽然内网域名解析出来是内网地址,但不管是用 ECS 内置的默认 DNS,还是其它公网的 DNS

楼主这个原因我猜是访问 8.8.8.8 存在问题,不信可以换个本地运营商的 DNS 试试
rrfeng
2018-06-26 23:41:45 +08:00
@goodryb 你说的没错。
但是这个解析发布到公网真是 666
goodryb
2018-06-26 23:44:32 +08:00
@rrfeng #8 如果不发布到公网,楼主现在应该要发帖问“为什么改了 dns,rds 就无法访问了”

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/465888

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX