问题描述
在阿里云上部署了一个项目, 使用tomcat容器与redis缓存(在CentOS服务器上), 而当我们启动服务的时候, 却无法访问我们现有的任何服务器的redis, 而在本地开发环境中启动的服务却可以访问.
已经做了以下工作:
ping测试localhost与其他redis服务器IP地址, 均能连通;
检查redis.conf文件, 确认bind 127.0.0.1这一条语句已经被注释;
重新打包应用到服务器上
然而问题仍然没有解决, 希望大家能提出可能的解决方案!
报错信息:
// tomcat.log2017.01.09 15:40:14 ERROR [jsp](775):? Servlet.service() for servlet jsp threw exceptionjava.net.UnknownHostException: 127.0.0.1
其中的ip地址为redis缓存服务器地址.
PS: 此问题与阿里云客服咨询同步进行, 如果客服能先解决问题的话, 我会整理答案到这里.
update: 2017-1-11排查出原因为redis安装目录下的redis.conf没有bind设置以及开启了protected-mode, 所以导致无法连接上.那么为什么本地开发环境(windows10)却可以连接上呢?
问题解答
回答1:检查下 iptables 是否打开了端口号.
telnent ip 端口号