一个风和日丽风平浪静的下午。我照常吃着火锅唱着歌,写着文档,上着课(然而上课并不听,相信你也是吧)。
突然一下,很快嗷,我自己部署的项目进不去了,登录之后仍然显示需要登录。
坏。。出事了。。
我直接一个F12看下错误 错误是后端传回的401 登录已过期。
坏。。出事了。。
我直接登录服务器,一个docker命令docker logs杀进服务器就是看后台容器的日志,报了个redis是只读的。
what? redis只读?
没遇到过,百度之。
千篇一律 大概就是说redis主从复制的时候从服务会变成只读的。
what? 什么主从?
我就用reids来存个token还涉及主从了?
我直接登录服务器,一个docker命令docker logs杀进服务器就是看redis的日志,报了个redis主从同步失败
Apr 2023 18:44:24.828 * Connecting to MASTER 194.38.20.225:888
Apr 2023 18:44:24.829 * MASTER <-> REPLICA sync started
Apr 2023 18:44:24.898 # Error condition on socket for SYNC: Connection refused
百度一下
千篇一律 改bind 取消bind
RBL 改完重启,当时是好了,过段时间又开始了。。这不是问题的关键。也不是关键的问题。
不过这样的表现倒是给了我一点提示。。
我目前有以下已知内容
- 这个错误应该不是我的redis主动触发的,每天发生是必然事件,但是不定什么时候发生
Connecting to MASTER 194.38.20.225:888这是什么鬼?这是什么鬼ip我咋不知道?- 我并没有配置主从哪来的主从同步?
综上所述,我的redis被攻击了。
找到问题就基本上解决问题了。
下面开始解决问题:
首先明确,redis配置的bind属性并不是引起问题的因素;
其次,我没有配置主从,这个报错应该是别人连我报错了。
解决方案:
防火墙设白名单🤭