我正在配置HAproxy并希望与Redis一起使用,我的配置相当简单:
global
maxconn 50000
defaults
timeout connect 10s
timeout client 30s
timeout server 30s
log global
mode http
option httplog
maxconn 3000
frontend redis
log /dev/log local0 debug
mode tcp
bind *:7899
default_backend redis_servers
backend redis_servers
server r01 xxx:7899
但是,当我试图用CLI连接到地址时:
redis-cli -h loadbalancer.test.app -p 7899
我收到这张日志:
Jul 18 15:19:24 lb01 haproxy[114128]: 217.XXX.XX.XXX:279XX [18/Jul/2022:15:19:24.426] redis redis/<NOSRV> -1/-1/0 0 PR 1/1/0/0/0 0/0
我验证了redis服务器是否正常工作,如果我执行相同的命令连接到它,但是直接使用机器的ip,我可以成功地使用它。
谁能帮我理解我错过了什么?
谢谢
发布于 2023-03-01 19:10:58
在默认部分中,模式为http
,后端使用相同的模式。您需要将默认部分中的模式从http
更改为tcp
,或者在后端下显式地将模式添加为tcp
,因为redis使用了tcp。
https://serverfault.com/questions/1105903
复制相似问题