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

相关推荐
新缸中之脑5 小时前
Mau Baron:如何实现$25K MRR
搜索引擎
todoitbo6 小时前
用虚拟局域网打通 Win/Mac/Linux 三端:跨设备协作的实用方案
linux·运维·macos
Sylvia-girl7 小时前
Linux下的基本指令1
linux·运维·服务器
CDN3608 小时前
360CDN SDK 游戏盾:轻量化接入 + 强防护实测
运维·游戏·网络安全
Stewie121388 小时前
Docker 面试题
运维·docker·容器
星纬智联技术8 小时前
GEO E2E 自动化验证测试文章
运维·自动化·geo
jarreyer9 小时前
CentOS 7 无法使用 yum 安装软件
linux·运维·centos
脆皮的饭桶9 小时前
结合使用,实现IPVS的高可用性、利用VRRP Script 实现全能高可用
运维·服务器·网络
RisunJan10 小时前
Linux命令-md5sum(计算和校验文件报文摘要的工具程序)
linux·运维
抹茶咖啡10 小时前
IT运维的365天--042 骚操作之--用IPSec给远程桌面上把锁
运维·网络·it运维