Nginx 反代 Redis 链接错误: 'Protocol error, got 'h' as reply type byte' 解决方法
当使用 Nginx 反代 Redis 时,如果出现 'Protocol error, got 'h' as reply type byte' 错误,可能是以下几个原因导致的:
-
Redis 版本不兼容:确保 Nginx 反代的 Redis 版本与实际 Redis 版本兼容。在 Redis 3.2 及更早版本中,Redis 不支持 HTTP 协议,因此会出现此错误。如果使用的是较新版本的 Redis,请确保在 Nginx 配置中使用正确的协议。
-
Redis 密码错误:如果 Redis 实例设置了密码,确保在 Nginx 配置中正确配置了密码。可以在 Nginx 配置文件中的
proxy_pass参数后添加密码,如:redis://password@localhost:6379。 -
Nginx 配置错误:检查 Nginx 配置文件中反代 Redis 的配置项是否正确。确保使用正确的 IP 地址、端口号和协议。
-
Redis 实例故障:如果以上解决方法都无效,可能是由于 Redis 实例本身出现故障导致。可以尝试重启 Redis 实例或者检查 Redis 实例的日志文件,查看是否有其他错误信息。
如果以上解决方法都无效,建议进一步检查 Nginx 和 Redis 的配置和日志,以确定具体的错误原因。
原文地址: https://www.cveoy.top/t/topic/oWbl 著作权归作者所有。请勿转载和采集!