redis外网连接的一些坑
前言
在使用阿里云和腾讯云的redis 可以减少很大的维护量。但是在我们的业务场景中遇到了一个情况,阿里和腾讯的redis均不支持外网访问。
因此,正好帮人解决一个问题,就拿出来分享一下。
阿呆的故事
阿呆是从事编程工作半年,一直使用阿里云和腾讯云。公司在要在全球部署服务器,由于运维成本高等问题,将所有服务采用了私有云+公有云的模式。
redis就架在了公有云上,结果在部署到全球5个地区的时候,全球5个地区都无法访问北京的redis。
阿呆的分析
阿呆的分析:
- 防火墙
- 公有云的规则
- selinux
阿呆解禁了公有云上的安全组规则,失败;
后来几次打听才了解到redis不让外网访问。
阿呆的解决办法
- 使用转发方式
- 自建redis server
由于redis 要求可靠性很高,转发可能会影响到性能,阿呆放弃了这种方式。
自建redis吧,自建redis,可是阿呆发现依然不行。同样,放行了所有的网络通信还是不行。
阿呆惆怅了
突然的发现
阿呆修改配置文件,远程调试,内网访问,N种办法后,阿呆去楼下点了支烟,看了看外面的云朵,阿呆有些想妈妈了。
突然灵感突现,会不会是IP地址的问题呢,阿呆打开一看,redis server的配置文件中:
bind 127.0.0.1 阿呆加上公网IP,可还是失败,服务都没办法启动了。
算了,不加了试试,注释掉bind 127.0.0.1。启动成功,外网访问一下,外网访问也成功了。