为elasticsearch创建证书
elasticsearch节点之间,elasticsearch与客户端之间的通信,可以SSL加密。那如何为elasticsearch初始化证书呢,elasticsearch容器提供了一些命令行工具来实现。
·
1 概述
elasticsearch节点之间,elasticsearch与客户端之间的通信,可以SSL加密。那如何为elasticsearch初始化证书呢,elasticsearch容器提供了一些命令行工具来实现。
2 命令行步骤汇总
# 步骤1:获取节点特定信息
NODE_NAME=$(hostname)
SERVICE_DOMAIN="${NODE_NAME}.elasticsearch"
POD_IP=$(hostname -i)
# 步骤2:生成CA证书
bin/elasticsearch-certutil ca --days 3650 -out /tmp/ca.p12 -pass ""
# 步骤3:生成节点服务器证书
bin/elasticsearch-certutil cert \
--days 3650 \
--silent \
--ca /tmp/ca.p12 \
--ca-pass "" \
--name $NODE_NAME \
--dns $SERVICE_DOMAIN,localhost \
--ip $POD_IP,127.0.0.1 \
--out /tmp/$NODE_NAME.p12 \
--pass ""
# 步骤4:验证服务器证书
openssl pkcs12 -in /tmp/$NODE_NAME.p12 -nodes -passin pass: 2>/dev/null | openssl x509 -noout -text | grep -A1 'Subject Alternative Name'
# 步骤5:查看服务器证书的证书链(也就是CA是谁)
openssl pkcs12 -in /tmp/ca.p12 -nokeys -chain -passin pass:
openssl pkcs12 -in /tmp/ca.p12 -nokeys -chain -passin pass: | openssl x509 -noout -text
3 实践
执行如下命令创建容器并进入:
docker run -it -u 0 --rm --name elasticsearch-0 swr.cn-south-1.myhuaweicloud.com/migrator/elasticsearch:8.14.3 bash
复制以上命令,会在/tmp目录中创建两个.p12结尾的文件,结果如下:


火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)