如何使用证书认证连接 Easysearch

大家都知道 Easysearch 开箱即启用安全功能,会自动生成一个复杂的密码,数据传输使用加密方式。今天介绍个不用密码使用证书连接 Easysearch 的方法,希望能帮助到有需要的人。

演示环境

服务端: Easysearch 1.12.0

客户端: Python Elasticsearch 7.10.1

说明:从 Elasticsearch 迁移到 Easysearch 可以做到 0 开发投入,客户端、DSL、API 统统兼容。

代码示例

我们使用 Elasticsearch 7.10.1 Python 客户端,连接 Easysearch 使用 admin 证书进行认证,并查询 test 索引数据。 admin 证书是 Easysearch 初始化自动生成的,在 config 目录下。

复制代码
from elasticsearch import Elasticsearch
from elasticsearch.connection import create_ssl_context
import ssl

# 创建自定义 SSL 上下文
ssl_context = create_ssl_context()
ssl_context.check_hostname = False
ssl_context.verify_mode = ssl.CERT_NONE
ssl_context.load_cert_chain(
    certfile="/Users/mac/python-test/admin.crt",
    keyfile="/Users/mac/python-test/admin.key"
)

es = Elasticsearch(
    ["https://localhost:9201"],
    ssl_context=ssl_context
)

try:
    response = es.search(
        index="test",
        body={"query": {"match_all": {}}}
    )
    print("✅ 搜索成功!")
    print(response)
except Exception as e:
    print("❌ 错误:", e)

if __name__ == '__main__':
    pass

没有安装 elasticsearch 客户端的同学,先安装下。

复制代码
pip3 install elasticsearch==7.10.1

运行结果展示:

还有更多 Python 客户端的用法请参考这里

相关推荐
Linux-18744 小时前
分布式链路追踪系统之二进制安装skywalking
elasticsearch·云原生·skywalking·分布式链路追踪系统·应用程序性能监控
阿里云大数据AI技术7 小时前
阿里云 Elasticsearch 日志采集与加工服务:让日志链路少一串组件,多一份稳定
人工智能·elasticsearch
敖行客 Allthinker7 小时前
Parallels Ubuntu虚拟机项目如何让手机访问?完整解决方案
linux·运维·ubuntu
元Y亨H8 小时前
生产环境监控与故障应急处理(5-5-5 标准)指南
运维
heimeiyingwang9 小时前
【架构实战】可观测性三支柱:日志、指标、链路的融合
elasticsearch·架构·kubernetes
观山岳五楼9 小时前
Ubuntu 24 怎么使用Ubuntu 20 的镜像源
linux·运维·ubuntu
寒晓星10 小时前
[linux]线程及多线程
linux·运维
慧一居士10 小时前
Linux如何设置固定的静态ip
运维
Elasticsearch11 小时前
Elastic Observability 中的 Prometheus 指标:你的 PromQL 可以保持不变地运行
elasticsearch
Elasticsearch11 小时前
为什么 Elasticsearch 平台是你的 AI 技术栈中缺失的一块拼图
elasticsearch