You need to enable JavaScript to run this app.
文档中心
缓存数据库 Redis 版

缓存数据库 Redis 版

复制全文
下载 pdf
报错和异常
使用 Nginx + Lua 连接 Redis 时,为何会出现 "failed to connect: no resolver defind to resolve" 报错?
复制全文
下载 pdf
使用 Nginx + Lua 连接 Redis 时,为何会出现 "failed to connect: no resolver defind to resolve" 报错?
问题现象​
当通过 Nginx + Lua 的方式,使用 Redis 的连接地址域名访问实例时,出现了 failed to connect: no resolver defind to resolve 之类的报错信息,提示连接地址无法正常解析。​
说明​
当您使用其他客户端或 ECS 通过连接地址访问 Redis 实例时,若也出现了类似的域名解析失败的报错(例如 Temporary failure in name resolution 或 Could not connect to Redis: No address associated with hostname)信息,提示连接地址无法正常解析时,您也可以参考本文处理方法进行处理。​
可能原因​
出现上述报错的原因,可能是 Nginx 配置文件中的 DNS 设置不正确导致连接地址解析失败,您需要检查 Redis 连接地址域名,以及 Nginx 配置文件中的 DNS 设置是否正确。​
针对 Nginx 0.6.18 及之后的版本,当使用变量来构造 server 地址时,一定要用 resolver 命令来指定 DNS 服务器地址。​
处理方法​
说明​
本文以 Linux 环境为例介绍相关处理方法。​
  1. 检查业务代码中设置的 Redis 连接地址信息是否正确。​
  • 您可以登录 Redis 控制台查看目标 Redis 实例的连接地址和端口号信息。具体操作步骤,请参见查看连接地址。​
  1. 确认 Nginx 配置文件 nginx.conf 中的 DNS 服务器设置。将火山引擎的 DNS 服务器信息添加到配置文件中,命令如下。​
说明​
  • 本文示例中以 Nginx 为例,您可以根据自身业务实际情况,修改您正在使用的客户端或 ECS 的 DNS 服务器设置。​
  • 100.96.0.2 和 100.96.0.3 为火山引擎使用的 DNS 服务器。​
  • ​
    resolver 100.96.0.2,100.96.0.3;​
    ​
​
最近更新时间:2025.11.04 21:37:42
这个页面对您有帮助吗?
有用
有用
无用
无用