Redis 密码设置

现象:

原因:

一、通俗解释报错原因

Redis 为了安全,默认情况下:

  1. 只允许本机(服务器自己)连接,拒绝外部连接。
  2. 如果你没有给 Redis 设置密码,它会强制开启保护模式
  3. 你的 Go 代码(运行在服务器上)虽然是本地访问,但因为时间问题修复后,Redis 的连接策略变了,导致代码连接被拒绝,服务启动失败。

二、怎么解决?(两种方案)

方案一:临时关闭保护模式(最快,推荐先试)

登录服务器终端,执行两条命令,马上修复:

bash 复制代码
# 1. 临时关闭保护模式(重启 Redis 后失效,用于快速恢复服务)
redis-cli CONFIG SET protected-mode no

# 2. 重启你的 CoinClient 服务
sudo supervisorctl restart ExchangeApi-CoinClient
方案二:永久设置密码(安全,推荐生产环境用)

如果你对外暴露了 Redis 端口,必须设置密码,否则很容易被攻击。

bash 复制代码
# 1. 登录 Redis
redis-cli

# 2. 设置密码(临时生效,重启失效)
127.0.0.1:6379> CONFIG SET requirepass "你的新密码"

# 3. 或者直接修改配置文件(永久生效)
# 打开配置文件
sudo vi /etc/redis/redis.conf
# 找到 # requirepass foobared,去掉注释改成 requirepass 123456(密码自己定)
# 重启 Redis
sudo systemctl restart redis

你想永久关闭 Redis 的保护模式(或永久解除连接限制),核心是修改 Redis 配置文件并重启,这样即使服务器 / Redis 重启,设置也不会失效。我给你两种永久解决方案(选一种即可),兼顾「便捷性」和「安全性」:

方案三:永久关闭保护模式(最简单,适合内网服务器)
操作步骤:
1.编辑 Redis 配置文件
bash 复制代码
# Ubuntu/Debian 系统
sudo vi /etc/redis/redis.conf

# CentOS/RHEL 系统(如果是这个系统,路径不同)
sudo vi /etc/redis/6379.conf
2.找到并修改保护模式配置

在配置文件中搜索 protected-mode(按 /protected-mode 快速搜索),找到这一行:

bash 复制代码
protected-mode yes  # 默认是 yes(开启)

改成:

bash 复制代码
protected-mode no  # 永久关闭保护模式
3.重启 Redis 使配置生效
bash 复制代码
# Ubuntu/Debian
sudo systemctl restart redis

# CentOS/RHEL
sudo systemctl restart redis-server
4.验证是否生效
bash 复制代码
redis-cli CONFIG GET protected-mode
相关推荐
maotou5262 小时前
Centos7安装docker+redis+pgsql
redis·docker·容器
NineData2 小时前
NineData 社区版 V4.10.0 正式发布
数据库·mysql·代码规范
heze092 小时前
sqli-labs-Less-46
数据库·mysql·网络安全
Y001112362 小时前
Day1-MySQL概述+SQL-1
数据库·mysql
咖啡续命又一天2 小时前
PHP 8.2 (Windows) 安装 Redis 扩展最新教程
windows·redis·php
菩提小狗2 小时前
第22天:安全开发-PHP应用&留言板功能&超全局变量&数据库操作&第三方插件引_笔记|小迪安全2023-2024|web安全|渗透测试|
数据库·安全·php
阿迷不想上班2 小时前
千万级别数据表更新操作记录
数据库
fusugongzi2 小时前
milvus数据库安装
数据库·milvus
夫唯不争,故无尤也2 小时前
PostgreSQL + SQLAlchemy 快速搭一个能跑的 Agent 后端数据层
数据库·人工智能·postgresql·agent