tidb dashboard 在haproxy侧配置 send-proxy;tidb侧配置 proxy-protocol.networks 无法登陆

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
TiDB:v5.2.1
Haproxy:1.5.18
【概述】场景+问题概述
Haproxy:/etc/haproxy/haproxy.cfg

listen tidb-cluster
bind 0.0.0.0:3306
mode tcp
balance leastconn
server tidb-pd1-0 10.242.105.1:4000 send-proxy check inter 2000 rise 2 fall 3
server tidb-pd1-1 10.242.105.1:4001 send-proxy check inter 2000 rise 2 fall 3
server tidb-pd2-0 10.242.105.2:4000 send-proxy check inter 2000 rise 2 fall 3
server tidb-pd2-1 10.242.105.2:4001 send-proxy check inter 2000 rise 2 fall 3
server tidb-pd3-0 10.242.105.3:4000 send-proxy check inter 2000 rise 2 fall 3
server tidb-pd3-1 10.242.105.3:4001 send-proxy check inter 2000 rise 2 fall 3

TiDB tiup cluster edit-config tidb-csa01

server_configs:
tidb:
log.slow-threshold: 300
proxy-protocol.networks: 10.242.105.1,10.242.105.2,10.242.105.3
token-limit: 4000

【现象】业务和数据库现象
配置后TiDB Dashboard无法登陆
【业务影响】
无法登陆TiDB dashboard
send-proxy透传ip跟 dashboard冲突
怎么解决啊?

  • 对应模块日志(包含问题前后1小时日志)
2 个赞

TiDB Dashboard 的端口,不是3306 啊
dashboard 一般是通过nginx 反射进行处理的,参考文档:


https://docs.pingcap.com/zh/tidb/stable/dashboard-ops-reverse-proxy

2 个赞

我知道TiDB Dashboard不是3306啊。
我是通过2379/dashboard/ 访问的啊。



我是感觉 我配置了Haproxy透传之后导致dashboard登录不上的。

2 个赞

什么意思,dashboard 无法登录? 你怀疑 是 haproxy 导致的?

这个很简单啊,去掉 haproxy,你看看是否正常…

另外透传模式,已经有很多答案了,你可以参考看看:


1 个赞

实在抱歉。可能是我没有描述清楚,给你带来了困扰。
我重新说明一下:
我是haproxy+keepalived做了一个三节点的高可用,复用的tidb-server实例的服务器
为了后端可以透传ip地址,
haproxy配置了send-proxy
tidb配置了proxy-protocol.networks


但是tidb dashboard登录的时候,对于tidb集群而言登录的源地址是属于proxy-protocol.networks,但是tidb dashboard登录用的不是proxy 协议,所以tidb dashboard登录不成功。
我说明白了吗?

2 个赞

这是你需要理解的啊,上面给你那么多参考,明确了如果你要使用dashboard,必须把相关的IP不设置为透传模式,而且文档也说明:

简单说,凡是设置了透传模式的 IP地址,其他的组件就无法使用了

2 个赞

对的啊。有没有解决方案啊。
这就是我开始问的啊,官方目前有没有完美的解决方案啊。

1 个赞

配置能解决的事情,你还想要什么 :joy:

2 个赞

那就是我没办法haproxy复用tidb-server实例所在的物理节点呗。
我只要复用了+透传IP。只能二选一
要不haproxy别透传,要不tidb-dashboard别想访问。

1 个赞

没,你可以透传部分,另外一部分不透传就好了,这个是协议的问题(当然你也可以提出需求,让其他的组件能够满足 Proxy 协议的访问)
如果,想要更复杂的支持,伴鱼有个开源的中间件,可以看一下
https://asktug.com/t/topic/93717

1 个赞

好的,谢谢。明白了。

1 个赞

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。