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

相关推荐
碳基沙盒6 小时前
OpenClaw 多 Agent 配置实战指南
运维
Elasticsearch1 天前
如何使用 Agent Builder 排查 Kubernetes Pod 重启和 OOMKilled 事件
elasticsearch
Elasticsearch2 天前
通用表达式语言 ( CEL ): CEL 输入如何改进 Elastic Agent 集成中的数据收集
elasticsearch
蝎子莱莱爱打怪3 天前
Centos7中一键安装K8s集群以及Rancher安装记录
运维·后端·kubernetes
DianSan_ERP4 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
呉師傅4 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑
不是二师兄的八戒4 天前
Linux服务器挂载OSS存储的完整实践指南
linux·运维·服务器
zhangfeng11334 天前
趋动云 如何ssh登录 服务区 项目server
运维·人工智能·ssh
ZeroNews内网穿透4 天前
谷歌封杀OpenClaw背后:本地部署或是出路
运维·服务器·数据库·安全
失重外太空啦4 天前
nginx
运维·nginx