防火墙添加了6379但是连不上
-DENIED Redis is running in protected mode because protected mode is enabled and no password is set for the default user. 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) Set up an authentication password for the default user. NOTE: You only need to do one of the above things in order for the server to start accepting connections from the outside.
遗失对主机的连接。
原因:
这段英文是 Redis 给出的错误提示,指出因为启用了保护模式且未为默认用户设置密码,所以 Redis 当前运行在保护模式下,仅接受来自环回接口的连接,拒绝外部计算机的连接,并提供了以下几种解决方案3:
- 临时禁用保护模式(不推荐在生产环境使用) :
- 登录到运行 Redis 服务器的同一台主机。
- 使用
redis - cli
命令行工具连接到本地 Redis 服务。 - 执行命令
CONFIG SET protected - mode no
来暂时关闭保护模式。 - 为了确保配置更改在 Redis 重启后仍然有效,执行
CONFIG REWRITE
命令以将当前配置写入配置文件。
- 永久性地在配置文件中禁用保护模式(强烈不推荐在生产环境使用) :
- 编辑 Redis 的配置文件(通常名为
redis.conf
),找到protected - mode
配置项并将其值更改为no
。 - 保存配置文件并退出编辑器。
- 重启 Redis 服务,新的配置将在 Redis 启动时生效。
- 编辑 Redis 的配置文件(通常名为
- 通过命令行参数启动 Redis 时禁用保护模式(仅限于测试场景) :如果是在测试环境中手动启动 Redis 服务器,可以在启动命令中添加
--protected - mode no
参数来启动 Redis,这样它就不会启用保护模式。 - 推荐方案:为 Redis 设置认证密码 :
- 在 Redis 配置文件中加入一行
requirepass yourpassword
,将yourpassword
替换为一个强密码。 - 保存配置文件并重启 Redis 服务,使新密码设置生效。
- 当从外部客户端连接时,需要提供这个密码进行身份验证。
- 在 Redis 配置文件中加入一行
在实际应用中,出于安全性考虑,建议采用第四种方法,即为 Redis 设置密码而非彻底禁用保护模式,这将确保只有经过授权的客户端才能访问 Redis 实例,同时保留了保护模式提供的基本安全防护层3。
检查服务器端口是否能用命令:
telnet <服务器 IP 地址> 6379
很遗憾以上并不行最终解决办法:
