You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何利用现有证书安全连接自建Elasticsearch集群?

Elasticsearch自动生成证书角色及客户端安全连接指南

一、自动生成证书的明确角色

Elasticsearch自动生成的三个证书分工清晰:

  • http_ca.crt:CA根证书,是证书链的信任锚点,用于验证Elasticsearch服务端HTTPS证书的合法性,客户端必须使用它来信任服务端。
  • http.p12:PKCS#12格式的服务端证书包,包含HTTP接口(REST API)的服务端证书和对应私钥,仅用于Elasticsearch自身对外提供HTTPS服务,属于服务端专属证书。
  • transport.p12:集群节点间transport通信的专属证书,用于节点加密通信,和外部客户端连接无关,无需在客户端配置中使用。

二、当前配置的修正建议

你当前的xpack.security.transport.ssl配置使用了http.p12,这是错误的——transport层通信应对应使用transport.p12,正确配置应为:

xpack.security.transport.ssl:
  enabled: true
  keystore.path: certs/transport.p12

若要开启HTTP接口的TLS加密,需单独添加配置:

xpack.security.http.ssl:
  enabled: true
  keystore.path: certs/http.p12

三、客户端(如Jaeger)安全连接配置

默认情况下Elasticsearch的HTTP接口采用单向TLS(仅客户端验证服务端),无需客户端证书,只需让客户端信任服务端的CA根证书即可:

  1. 将服务器上的http_ca.crt文件复制到客户端机器的指定路径(比如Jaeger部署节点的/opt/jaeger/certs/目录)。
  2. 在Jaeger的配置中指定该CA证书路径,以验证Elasticsearch服务端身份。示例配置:
es:
  server-urls: "https://<your-es-host>:9200"
  tls:
    ca: "/opt/jaeger/certs/http_ca.crt"
  username: "<your-es-username>"
  password: "<your-es-password>"

若你的Elasticsearch开启了双向TLS认证(强制验证客户端证书),则需要额外生成客户端证书并配置,但Elasticsearch默认未开启该模式,一般无需操作。

内容的提问来源于stack exchange,提问作者Mohamad Abbasi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 01:55:03