lua 中链接 Redis 使用域名报错 failed to connect: no resolver defined to resolve

最近一直在研究openResty,使用过程中在用lua脚本连接redis的时候,使用了阿里云的云redis,大家都知道的阿里云的云redis,连接地址是一个域名,这个时候报错 failed to connect: no resolver defined to resolve,先去检查了一下redis的白名单,发现内网的ecsIP是在白名单的,然后使用php测试连接都是正常的,后面去网上查找资料,终于在墙外找到了答案:
nginx 自己的 resolver 目前尚不支持本地的 /etc/hosts 文件(注意,这与 DNS 服务本身无关),而 ngx_lua 的 cosocket 也使用的是 nginx 自己的非阻塞的 DNS resolver 组件。所以我们 只需要在nginx.conf 中加一行:

    resolver 8.8.8.8; 
备注:这里我使用的是Goole 公开的 DNS 解析器,大家可以按照需求去配置!啰嗦一大堆,代码一行,祝大家晚安
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 1

谢谢这位道友,解决了我的问题

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!