如何使用证书认证连接 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 客户端的用法请参考这里

相关推荐
Elasticsearch8 小时前
使用 Elastic Agent Builder 和 Sarvam AI 构建多语言语音 agent
elasticsearch
SkyWalking中文站1 天前
认识 Horizon UI · 1/17:SkyWalking 新一代可观测性控制台
运维·前端·监控
雪梨酱QAQ1 天前
Kubeneters HA Cluster部署
运维
江华森1 天前
Spring Cloud 微服务全栈实战:从 Eureka 到 Docker Compose 一文贯通
运维
江华森1 天前
Matplotlib 数据绘图基础入门
运维
江华森1 天前
NumPy 数值计算基础入门
运维
武子康4 天前
调查研究-197 FAISS vs Elasticsearch 全面对比:从向量检索、全文搜索到 RAG 选型指南
人工智能·elasticsearch·agent
Elasticsearch5 天前
Elasticsearch ES|QL:现已支持视图、子查询和读取时模式定义
elasticsearch
乘云数字DATABUFF5 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
荣--7 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计