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

相关推荐
蜀道山老天师13 分钟前
Zabbix监控Apache与Nginx应用实践完整指南
linux·运维·nginx·apache·zabbix
王志来1379447300816 分钟前
从分散到集成:工控服务器机箱采购如何实现“一站式”破局
运维·服务器·人工智能·python
Elasticsearch19 分钟前
如何在 Workflow 里发送企业微信信息 - WeCom
elasticsearch
暖核21 分钟前
Linux实战入门:从零编写第一个Bash Shell脚本
linux·运维·bash
云原生指北25 分钟前
Docker Sandboxes 的隔离例外:共享 Skills 与宿主机 MCP
运维·docker·ai·容器·agent
2301_7867566036 分钟前
不做分子仿真、不布局自动化实验室,垂直科研智能平台同样跑通 AI for Science 可持续变现
运维·人工智能·自动化
志栋智能1 小时前
超自动化安全如何提升合规与审计效率?
运维·安全·自动化
March.s1 小时前
深入理解 Linux 系统启动原理
linux·运维·服务器
Elasticsearch1 小时前
IT 领导者使用可观测性监控 AI 应用的 7 条经验
elasticsearch
zbyyd1 小时前
Linux 基础与 Shell 命令
linux·运维·arm开发