redis链接不上,报保护模式

博客指出Redis在受保护模式下运行被拒绝的错误,原因是启用保护模式、未指定绑定地址和未设身份验证密码。给出三种解决方案,如禁用保护模式、编辑配置文件等,还介绍了修改配置文件的三处内容及重启Redis的正确方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

错误信息:

DENIED Redis is running in protected mode because protected mode is enabled, no bind address was specified, no authentication password is requested to clients. In this mode connections are only accepted from the loopback interface. If you want to connect from external computers to Redis you may adopt one of the following solutions: 1) Just disable protected mode sending the command 'CONFIG SET protected-mode no' from the loopback interface by connecting to Redis from the same host the server is running, however MAKE SURE Redis is not publicly accessible from internet if you do so. Use CONFIG REWRITE to make this change permanent. 2) Alternatively you can just disable the protected mode by editing the Redis configuration file, and setting the protected mode option to 'no', and then restarting the server. 3) If you started the server manually just for testing, restart it with the '--protected-mode no' option. 4) Setup a bind address or an authentication password. NOTE: You only need to do one of the above things in order for the server to start accepting connections from the outside. no' from the loopback interface by connecting to Redis from the same host the server is running, however MAKE SURE Redis is not publicly accessible from internet if you do so. Use CONFIG REWRITE to make this change permanent. 2) Alternatively you can just disable the protected mode by editing the Redis configuration file, and setting the protected mode option to 'no', and then restarting the server. 3) If you started the server manually just for testing, restart it with the '--protected-mode no' option. 4) Setup a bind address or an authentication password. NOTE: You only need to do one of the above things in order for the server to start accepting connections from the outside.

翻译信息:
被拒绝的Redis在受保护模式下运行,因为启用了受保护模式,没有指定绑定地址,没有向客户端请求身份验证密码。在这种模式下,连接只接受环回接口。如果你想从外部计算机连接到复述,你可能采取的解决方案:1)只是禁用保护模式发送命令的配置设置保护模式没有从loopback接口连接到复述同一主机服务器正在运行,然而确保复述,不是公开从互联网访问如果你这样做。使用配置重写使此更改永久。2)或者,您可以通过编辑Redis配置文件,将protected模式选项设置为“no”,然后重新启动服务器,从而禁用受保护模式。3)如果您只是为了测试而手动启动服务器,请使用“——protected-mode no”选项重新启动它。设置绑定地址或身份验证密码。注意:为了让服务器开始接受来自外部的连接,您只需要执行上面的一项操作。通过从服务器运行的同一主机连接到Redis,可以在环回接口中设置“否”,但是如果这样做,请确保不能从internet公开访问Redis。使用配置重写使此更改永久。2)或者,您可以通过编辑Redis配置文件,将protected模式选项设置为“no”,然后重新启动服务器,从而禁用受保护模式。3)如果您只是为了测试而手动启动服务器,请使用“——protected-mode no”选项重新启动它。设置绑定地址或身份验证密码。注意:为了让服务器开始接受来自外部的连接,您只需要执行上面的一项操作。

解决方案:
打开redis的配置文件 redis.conf
修改配置3处
第一处
在这里插入图片描述
这一处本来是没有注释的,注释掉

第二处:
在这里插入图片描述
这里本来是yes 改成no

第三处:
在这里插入图片描述
这里本来是no 改成yes

然后重新启动redis ,启动redis的时候必须启动相应配置文件
在这里插入图片描述
./redis-server /usr/local/software/redis-4.0.14/etc/redis.conf
注意:要将配置文件的地址加上,不然没用

### 解决 Redis 连接失败的问题 Redis 连接失败通常由多种原因引起,以下是常见的解决方案及其具体操作方法: #### 1. 密码设置问题 如果客户端发送了 `AUTH` 命令而服务器未设置密码,则会错 `ERR Client sent AUTH, but no password is set`。此时需要确认 Redis 是否设置了密码。如果没有设置密码,则需关闭认证功能或将客户端的密码字段留空[^1]。 - 如果需要密码验证,在配置文件 `redis.conf` 中查找并注释掉以下行: ```conf requirepass your_password ``` - 若确实需要密码验证,请确保客户端提供正确的密码,并在启动 Redis 客户端时传递此密码参数。 #### 2. 绑定地址问题 默认情况下,Redis 只允许本地回环接口访问 (`bind 127.0.0.1`)。当尝试通过远程主机连接时,可能会因绑定限制而导致连接失败。可以通过修改 `redis.conf` 文件中的绑定地址来解决问题[^2]。 - 将 `bind 127.0.0.1` 更改为 `bind 0.0.0.0` 或者指定具体的 IP 地址以允许多个网络接口上的请求接入。 - **注意**: 修改绑定地址可能带来安全风险,建议仅限于受信任环境下的内部网络使用。 #### 3. 保护模式调整 为了增强安全性,默认启用了保护模式(`protected-mode yes`)。对于某些场景(比如开发测试),可以临时禁用它以便简化调试过程。 - 编辑 `redis.conf` ,将选项 `protected-mode yes` 改成 `protected-mode no` 即可解除这一层防护屏障。 #### 4. 使用可视化管理工具遇到障碍 针对像 Redis Desktop Manager (RDM) 此类图形界面应用无法正常连入的情况,除了上述提到的基础设定外还需额外留意几个方面[^3]: - 确认 RDM 输入的各项参数无误(如 host,port,password etc.); - 对应版本间的兼容性考量也很重要;有时升级软件或者重新部署实例能有效缓解此类异常现象的发生频率。 ```bash # 示例:编辑 redis.conf 的基本命令流程 sudo vim /path/to/your/redis.conf # 查找关键字 'requirepass', 'bind' 和 'protected-mode' :set hlsearch :/requirepass :/bind :/protected-mode # 存储更改退出编辑器 :wq ``` 完成以上任意一种修正之后记得重启 Redis 服务使改动生效: ```bash sudo systemctl restart redis.service # or ./src/redis-server /etc/redis/redis.conf ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值