述:redis缓存了token,失效时间为24小时,可是每次不到多久,就提示token失效,重新登录后,没用多久,又提示token失效。查看了下缓存,发现数据全部没掉了,并且多了几个back1,back2...,怀疑原来redis未设置密码,会不会是被攻击了
排查:
1、进入docker容器,执行docker exec -it 容器ID /bin/bash
2、执行redis-cli
3、输入monitor (也可以把监控信息输出到文件中:redis-cli monitor >/data/logs/redis/log0326.txt)
可以看到居然执行了flushall命令,所有的数据都清空,然后生成了几个back1,back2...
确实被攻击了
解法:
设置密码
1、临时方案
config set requirepass ****(****为你要设置的密码)
2、永久方案
redis:
image: redis:6.2.12
restart: always
container_name: redis
ports:
- 6379:6379
volumes:
- /etc/conf/redis/redis.conf:/etc/redis/redis.conf
logging:
driver: "json-file"
options:
max-size: "20m"
max-file: "7"
networks:
- homewlan_bridge
command: ["redis-server","/etc/redis/redis.conf"]
deploy:
resources:
limits:
cpus: '0.50'
memory: 20G
修改宿主机/etc/conf/redis/redis.conf配置,加入密码
requirepass ****(****为你要设置的密码)