执行elasticsearch-create-enrollment-token生成节点令牌遇证书错误求助
解决Elasticsearch生成节点注册令牌时的证书SAN不匹配错误
这个错误的核心是Elasticsearch节点的SSL证书未将10.12.198.96添加为证书的主题备用名称(SAN),导致elasticsearch-create-enrollment-token命令在验证集群节点证书时失败,无法确认集群健康状态。
以下是具体解决方法:
方法1:重新生成包含目标IP的SSL证书(推荐生产环境使用)
- 停止集群内所有Elasticsearch节点
- 在主节点执行证书生成命令,指定所有集群节点的IP(包括
10.12.198.96):
替换./bin/elasticsearch-certutil cert --name elasticsearch --ip 10.12.198.96,现有节点IP1,现有节点IP2现有节点IP1,现有节点IP2为集群中其他节点的实际IP,确保所有节点IP都被包含在证书SAN中 - 将生成的证书文件(默认是
elastic-stack-ca.p12和elasticsearch.p12)替换所有节点config/certs目录下的对应文件 - 确认所有节点
elasticsearch.yml中的证书路径配置正确,示例:xpack.security.transport.ssl.keystore.path: certs/elasticsearch.p12 xpack.security.transport.ssl.truststore.path: certs/elasticsearch.p12 xpack.security.http.ssl.keystore.path: certs/elasticsearch.p12 xpack.security.http.ssl.truststore.path: certs/elasticsearch.p12 - 重启所有节点后,重新执行
elasticsearch-create-enrollment-token -s node命令
方法2:临时跳过证书验证(仅测试环境使用)
测试环境下可临时绕过证书校验生成令牌,生产环境禁止使用:
./bin/elasticsearch-create-enrollment-token -s node --skip-certificate-validation
方法3:检查节点绑定IP配置
确认主节点elasticsearch.yml的network.host配置包含10.12.198.96:
network.host: 0.0.0.0,10.12.198.96
若之前未配置,添加后重启节点,若证书已包含该IP则可正常生成令牌,否则仍需执行方法1重新生成证书
内容的提问来源于stack exchange,提问作者ramya sindhuri
相关产品推荐
相关产品推荐

