qiayue

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

  •  
  •   qiayue · Jun 26, 2018 · 10147 views
    This topic created in 3053 days ago, the information mentioned may be changed or developed.
    最近一段时间,我一台服务器经常出现连接数据库报错,打印错误日志提示 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 之后问题解决。

    在此记录一下,也许有其他人会遇到这个问题,通过搜索引擎进来了,就能够帮助到他们。
    9 replies  •  2018-06-26 23:44:32 +08:00
    SCGabriel
    SCGabriel
    Jun 26, 2018
    1
    虽然没遇到过但是谢谢了
    cat9life
    cat9life
    Jun 26, 2018
    2
    有可能是这个原因? /t/465681
    qiayue
    qiayue
    OP
    Jun 26, 2018
    3
    @cat9life 是的,就是 8.8.8.8 的问题,好多域名解析不出来,或者时而能解,时而不能
    rrfeng
    rrfeng
    Jun 26, 2018 via Android
    4
    ...

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

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


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

    楼主这个原因我猜是访问 8.8.8.8 存在问题,不信可以换个本地运营商的 DNS 试试
    rrfeng
    rrfeng
    Jun 26, 2018 via Android
    8
    @goodryb 你说的没错。
    但是这个解析发布到公网真是 666
    goodryb
    goodryb
    Jun 26, 2018❤️1
    9
    @rrfeng #8 如果不发布到公网,楼主现在应该要发帖问“为什么改了 dns,rds 就无法访问了”
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3782 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 05:25 · PVG 13:25 · LAX 21:25 · JFK 00:25
    ♥ Do have faith in what you're doing.