本期内容
解决因开启 TLS 加密
导致的工具“失灵”
在之前的文章中,我们分享过一期在遇到项目中的漏洞扫描,开启 TiDB 集群的 TLS 加密的内容,详细地讲解了如何开启 TLS 加密,以及需要注意的点。(→直达:《如何开启TiDB集群中的节点通信加密?》)。
在成功开启 TLS 之后,我们发现现有的某些工具无法使用了,比如 BR 全量备份的脚本、pd-ctl工具等等。究其原因,是开启 TLS 后,PD 节点的访问方式发生了改变。
以前访问 PD 节点,只需要用 http 的方式指定 IP 和端口就可以直接访问,现在却需要使用 https 的方式,除了指定 IP 和端口,还需要指定 CA 证书等文件。
那么,在各种工具中,我们需要怎么设置才能正常使用呢?本期我们列举一些工具的配置方法来解决。
Dashboard
首先介绍我们最常用的工具——Dashboard。
开启了 TLS 之后,Dashboard 就只能用 http 的方式访问,而且需要先安装证书,才能正常访问。
具体方式如下:
1、获取证书
1)使用 tiup ,获取证书存放地址:
tiup cluster display tidb-test
2)跟进上图中的路径:
/root/.tiup/storage/cluster/clusters/tidb-test/tls/
3)下载证书文件:client.pfx
2、安装证书
Step1:打开浏览器的“证书管理”
Step2:选择导入,并选中 client.pfx 文件
Step3:输入密码(密码为tiup)
Step4:安装完成。
3、使用证书访问 Dashboard
直接与使用 Https 访问 Dashboard 地址一样,浏览器会自动提示是否使用证书验证,点击证书后,再点击确定即可(如果访问出现问题或没有证书弹框,可重启一下浏览器)。
TiDB Lightning
在使用 Lightning 的时候,有两种情况:
一种是直接使用 TiDB 模式。
这种模式使用的是逻辑导入,直接连接 TiDB 节点进行导入,所以不需要连接到 PD 节点,也就不需要使用到 CA 证书;
另一种是使用 Local 模式。
这个模式下,Lightning 需要通过 PD 节点来找到 tikv 的位置,所以只有在 Local 模式下,我们需要更改 Lightning 的配置文件。
如果直接使用 Local 模式,会有如下报错:
配置文件的更改方式如下:
在此基础上,我们需要增加(security 与tidb.security保持一致):
完整配置如图:
修改配置之后,正常运行 Lightning 即可:
BR 备份
我们使用 BR 做全量备份的时候,如果不指定 CA 证书,也会遇到报错:
这个时候,我们可以根据 BR 工具的详细信息来获得帮助:tiup br --help;
所以,我们在命令行中加入对应的三个参数信息(ca,cert,key)即可:
PD CTL
我们在现场经常会遇到需要查看store信息的情况,所以需要用到PD ctl工具。
由于开启了 TLS,所以也需要增加相应的 CA 证书文件才行。
这里,我选择根据 TiDB Lightning 的命令行文件,直接复制 CA 文件部分,CTL 竟然报错了:
根据图上显示的内容,可以发现,CTL 的 CA 证书使用的参数名是 cacert ,而不是用的 ca 。
更改之后,正确的命令如下:
这里还需要注意一点,连接 PD 节点的地址为 https,而不是 http 了。
总结思考
本文主要介绍了在开启 TLS 之后的 TiDB 集群后导致部分工具“失灵”后,一些常用的工具应该如何去使用。
主要记住几点:
由于开启了 TLS ,所以 http 变为 https,在有配置 PD 节点访问方式的时候,要注意判断是否需要修改;
只要从 PD 节点获取信息,那么这个工具肯定是需要指定 CA 证书;
关于配置 CA 证书的参数名,可以根据对应命令的详细信息来查看,命令加 --help 即可;
如果需要通过配置文件来指定 CA 文件,那就需要到官网查看该工具的完整配置文件说明,找到 CA 证书部分,按说明填写即可。
今天的分享到这里,如果你在项目中遇到,可以尝试解决。
开启TLS导致工具“失灵"
我们给出的办法希望对你有帮助
如果你有更好的办法或疑问
欢迎加入我们一起讨论哦⬇
本期作者
蔡一凡
更多精彩内容
了解云基地,就现在!
IT技术哪家强
神州数码最在行
行业新星,后起之秀
历史虽不长,但是实 力 强






