tikv集群增加TLS权限验证

背景

  1. 参考 https://docs.pingcap.com/zh/tidb/stable/generate-self-signed-certificates/
  2. 注意:https://tikv.org/docs/5.1/deploy/configure/security/ 参考该文档无法测试通过

根据上述文档,可以生成相应的证书;
alt_names 只是测试通过了设置IP,如果设置域名(DNS)就会出现异常;

[2022/02/17 14:07:08.733 +08:00] [WARN] [config_logging.go:270] ["rejected connection"] [remote-addr=xx.xx.xx.xx:54274] [server-name=node2.juicefs-tikv.sys.xxx.com] [ip-addresses="[127.0.0.1]"] [dns-names="[*.juicefs-tikv.sys.xxx.com]"] [error="tls: \"xx.xx.xx.xx\" does not match any of DNSNames [\"*.juicefs-tikv.sys.xxx.com\"] (lookup xx.xx.xx.xx.in-addr.arpa. on xx.xx.xx.xx:53: no such host)"]

注意:需要清理掉pd和tikv的所有数据才能稳定启动pd(参考issue:https://github.com/tikv/pd/issues/2569
注意:pd的配置全部带上https,tikv的配置除了pd-endpoint之外都不需要加https

测试:(需要带上证书)
curl -k --cert /root/tls-tikv/tikv-openssl/new/tikv.crt --key /root/tls-tikv/tikv-openssl/new/tikv.key https://xx.xx.xx.xx:2379/pd/api/v1/stores

问题

是否支持TLS使用泛域名(alt_names里面配置泛域名…)?
测试过程中如果证书配置泛域名,pd会出现异常;提示 remote-addr 不能被泛域名匹配到,remote-addr 是一个IP…

1 个赞

1.tidb-v5.0.1-linux-amd64 二进制安装的
2.openssl.cnf文件
openssl.cnf (10.8 KB)

3.二进制安装的,没有用到tiup
4.PD的日志:大量如下重复…
[2022/02/17 23:42:46.127 +08:00] [WARN] [config_logging.go:270] ["rejected connection"] [remote-addr=xx.xx.xx.xx:38088] [server-name=node1.juicefs-tikv.sys.xxx.com] [ip-addresses="[127.0.0.1]"] [dns-names="[*.juicefs-tikv.sys.xxx.com]"] [error="tls: \"xx.xx.xx.xx\" does not match any of DNSNames [\"*.juicefs-tikv.sys.xxx.com\"] (lookup xx.xx.xx.xx.in-addr.arpa. on xx.xx.xx.xx:53: no such host)"]

pd不能组成集群,tikv就没有起了~