当通过 Nginx + Lua 的方式,使用 Redis 的连接地址域名访问实例时,出现了 failed to connect: no resolver defind to resolve
之类的报错信息,提示连接地址无法正常解析。
说明
当您使用其他客户端或 ECS 通过连接地址访问 Redis 实例时,若也出现了类似的域名解析失败的报错(例如 Temporary failure in name resolution
)信息,提示连接地址无法正常解析时,您也可以参考本文处理方法进行处理。
出现上述报错的原因,可能是 Nginx 配置文件中的 DNS 设置不正确导致连接地址解析失败,您需要检查 Redis 连接地址域名,以及 Nginx 配置文件中的 DNS 设置是否正确。
针对 Nginx 0.6.18 及之后的版本,当使用变量来构造 server 地址时,一定要用 resolver
命令来指定 DNS 服务器地址。
说明
本文以 Linux 环境为例介绍相关处理方法。
检查业务代码中设置的 Redis 连接地址信息是否正确。
您可以登录 Redis 控制台查看目标 Redis 实例的连接地址和端口号信息。具体操作步骤,请参见查看连接地址。
确认 Nginx 配置文件 nginx.conf
中的 DNS 服务器设置。将火山引擎的 DNS 服务器信息添加到配置文件中,命令如下。
说明
100.96.0.2
和 100.96.0.3
为火山引擎使用的 DNS 服务器。resolver 100.96.0.2,100.96.0.3;