起因是使用 ngxin + lua 链接外部机器 Redis 时产生的

原因是 Nginx 0.6.18以后的版本中启用了一个resolver指令,在使用变量来构造某个server地址的时候一定要用resolver指令来指定DNS服务器的地址,所以解决这个问题的方法很简单:在nginx的配置文件中的http{}部分添加一行DNS地址即可

1
2
3
4
5
6
http {
resolver 8.8.8.8;
server {
...
}
}

如果机器支持 ipv6,可以去掉对它的支持,免得产生类似错误。

1
resolver 8.8.8.8 ipv6=off;
03-16 15:15