当前位置: 首页 > article >正文

ELK全家桶HTTPS实战:从自签PEM证书到Java Client连接的一站式配置

ELK全栈HTTPS实战从证书签发到Java客户端安全连接的完整指南在分布式系统架构中数据安全传输已成为刚需。本文将手把手带您完成ELK StackElasticsearchKibanaLogstash的HTTPS全链路配置特别针对开发测试环境设计涵盖证书生成、组件配置、Java客户端连接三大核心环节。不同于官方文档的片段式说明我们采用连贯的工程视角所有操作均基于实际案例验证确保您能一次性打通全流程。1. 证书体系设计与生成1.1 选择证书格式PEM vs PKCS12在ELK体系中证书格式的选择直接影响后续配置复杂度格式类型文件扩展名典型内容Java兼容性PEM.crt/.keyBase64编码的证书/私钥全版本支持PKCS12.p12/.pfx二进制打包的证书私钥JDK8需≥u301推荐策略开发环境优先使用PEM格式避免JDK版本兼容问题生产环境可考虑PKCS12增强安全性。1.2 生成CA根证书通过Elasticsearch内置工具生成自签名CA# 创建CA目录 mkdir -p ./tls/ca cd ./tls/ca # 生成PEM格式的CA证书有效期10年 ../../bin/elasticsearch-certutil ca --days 3650 --pem --out ca.zip # 解压得到ca.crt和ca.key unzip ca.zip关键参数说明--pem指定输出PEM格式--days 3650设置证书有效期无密码保护适合开发环境生产环境应添加--pass参数1.3 签发组件证书为各组件生成终端证书前需准备实例定义文件instances.ymlinstances: - name: elasticsearch dns: [ localhost, es-node1 ] ip: [ 127.0.0.1 ] - name: kibana dns: [ localhost ] - name: logstash dns: [ localhost ]执行签发命令../../bin/elasticsearch-certutil cert \ --ca-cert ca/ca.crt \ --ca-key ca/ca.key \ --in instances.yml \ --days 3650 \ --pem \ --out certificates.zip解压后将得到每个组件的独立证书包包含组件名.crt公开证书组件名.key私钥文件组件名.p12PKCS12格式打包文件备用2. 组件HTTPS配置实战2.1 Elasticsearch安全配置将证书文件放置于config/certs目录后修改elasticsearch.yml# 传输层加密节点间通信 xpack.security.transport.ssl.enabled: true xpack.security.transport.ssl.verification_mode: certificate xpack.security.transport.ssl.certificate: certs/elasticsearch.crt xpack.security.transport.ssl.key: certs/elasticsearch.key # HTTP层加密客户端通信 xpack.security.http.ssl.enabled: true xpack.security.http.ssl.certificate: certs/elasticsearch.crt xpack.security.http.ssl.key: certs/elasticsearch.key常见踩坑点权限问题确保Elasticsearch进程对证书文件有读取权限证书链自签名证书需额外配置xpack.security.http.ssl.certificate_authorities2.2 Kibana连接配置Kibana需要CA证书验证Elasticsearch的合法性# config/kibana.yml elasticsearch.hosts: [https://localhost:9200] elasticsearch.ssl.certificateAuthorities: [config/certs/ca.crt] elasticsearch.ssl.verificationMode: certificate验证命令curl --cacert config/certs/ca.crt https://localhost:92002.3 Logstash输出配置在Pipeline配置中启用SSLoutput { elasticsearch { hosts [https://localhost:9200] user elastic password your_password ssl true cacert /path/to/ca.crt ssl_certificate_verification true } }性能提示启用SSL会增加约15%的CPU开销可通过调整pipeline.workers平衡性能与安全。3. Java客户端安全连接3.1 证书信任库构建使用CA证书创建PKCS12信任库Path caPath Paths.get(config/certs/ca.crt); CertificateFactory factory CertificateFactory.getInstance(X.509); try (InputStream is Files.newInputStream(caPath)) { Certificate ca factory.generateCertificate(is); KeyStore trustStore KeyStore.getInstance(PKCS12); trustStore.load(null, null); trustStore.setCertificateEntry(ca, ca); SSLContext sslContext SSLContexts.custom() .loadTrustMaterial(trustStore, null) .build(); }3.2 客户端初始化完整示例Spring Boot集成方案Bean public RestHighLevelClient elasticsearchClient() { final CredentialsProvider credentialsProvider new BasicCredentialsProvider(); credentialsProvider.setCredentials( AuthScope.ANY, new UsernamePasswordCredentials(elastic, password) ); SSLContext sslContext SSLContextBuilder .create() .loadTrustMaterial(caPath, null) .build(); RestClientBuilder builder RestClient.builder( new HttpHost(localhost, 9200, https)) .setHttpClientConfigCallback(httpClientBuilder - httpClientBuilder .setSSLContext(sslContext) .setDefaultCredentialsProvider(credentialsProvider)); return new RestHighLevelClient(builder); }兼容性方案针对JDK8的特殊处理// 解决TLSv1.3在JDK8的兼容问题 System.setProperty(jdk.tls.client.protocols, TLSv1.2);4. 进阶调试与优化4.1 证书验证问题排查当遇到SSLHandshakeException时按以下步骤诊断验证证书链完整性openssl verify -CAfile ca.crt elasticsearch.crt检查证书有效期openssl x509 -in elasticsearch.crt -noout -dates诊断SSL握手过程openssl s_client -connect localhost:9200 -showcerts -CAfile ca.crt4.2 性能调优参数在elasticsearch.yml中添加以下优化配置# 启用会话复用减少SSL握手开销 xpack.security.http.ssl.session_timeout: 1h xpack.security.transport.ssl.session_timeout: 1h # 选择更高效的加密套件 xpack.security.http.ssl.cipher_suites: - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA3844.3 证书轮换策略实现零停机证书更新将新证书放置到备用路径动态重载配置POST /_nodes/reload_secure_settings { secure_settings_password: your_keystore_password }验证节点日志中的reloaded secure settings条目在完成所有组件配置后建议使用elasticsearch-certutil的--inspect选项定期检查证书状态。实际项目中曾遇到因证书过期导致的集群分区问题后来通过增加证书到期监控告警彻底解决。

相关文章:

ELK全家桶HTTPS实战:从自签PEM证书到Java Client连接的一站式配置

ELK全栈HTTPS实战:从证书签发到Java客户端安全连接的完整指南 在分布式系统架构中,数据安全传输已成为刚需。本文将手把手带您完成ELK Stack(ElasticsearchKibanaLogstash)的HTTPS全链路配置,特别针对开发测试环境设计…...

3分钟搞定抖音无水印下载:零基础也能轻松保存视频和直播回放

3分钟搞定抖音无水印下载:零基础也能轻松保存视频和直播回放 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback…...

教育科技产品集成Taotoken为学生提供个性化AI学习辅导

教育科技产品集成Taotoken为学生提供个性化AI学习辅导 1. 教育场景中的大模型需求 在线教育平台面临的核心挑战之一是如何为不同学习阶段的学生提供个性化辅导。传统解决方案往往依赖预设题库和固定难度分级,难以动态适应学生的实时学习状态。通过集成Taotoken的大…...

如何永久保存微信聊天记录?WeChatMsg数据留痕完全指南

如何永久保存微信聊天记录?WeChatMsg数据留痕完全指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeCha…...

ParsecVDisplay虚拟显示器终极指南:5分钟掌握Windows虚拟显示完整实战教程

ParsecVDisplay虚拟显示器终极指南:5分钟掌握Windows虚拟显示完整实战教程 【免费下载链接】parsec-vdd ✨ Perfect virtual display for game streaming 项目地址: https://gitcode.com/gh_mirrors/pa/parsec-vdd 想要扩展Windows电脑的显示空间却不想购买额…...

深入 Python 循环引用与垃圾回收:如何应对内存管理的挑战

深入 Python 循环引用与垃圾回收:如何应对内存管理的挑战 在 Python 中,内存管理是一个至关重要的主题,特别是在处理长时间运行的服务和大量数据时。内存泄漏和资源管理不当往往是导致服务性能下降或崩溃的根源之一。一个常见的内存问题就是 …...

2025届学术党必备的五大AI学术网站实际效果

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在学术写作这个范畴之内,AI论文工具正逐渐变成研究者以及学生的得力帮手&#xf…...

别再为摄像头品牌不兼容发愁了!手把手教你用ONVIF协议搞定海康、大华等主流设备混搭

跨品牌监控系统整合实战:用ONVIF协议实现海康大华设备无缝混搭 当不同品牌的监控设备需要在同一系统中协同工作时,工程师们常常面临兼容性噩梦。某智能园区项目曾因设备品牌混杂导致系统延迟高达3秒,直到采用ONVIF协议才将延迟降至200毫秒以内…...

长期项目使用 Taotoken 按 token 计费带来的成本可控体验

长期项目使用 Taotoken 按 token 计费带来的成本可控体验 1. 项目背景与需求 我们团队运营着一个长期运行的内容生成项目,需要持续调用大模型 API 来完成日常的文本创作任务。在项目初期,我们尝试过多种接入方式,但很快发现成本控制成为一个…...

多模态智能系统DeepVision-VLA:机器人视觉语言动作融合实践

1. 项目概述:当机器人学会"看图说话"时会发生什么?去年在调试机械臂抓取系统时,我遇到一个典型场景:当操作目标从红色方块变成蓝色圆柱时,传统视觉系统需要重新编程才能适应新物体。这促使我开始探索如何让机…...

IOTA Wallet入门:如何在5分钟内快速创建你的第一个IOTA账户

IOTA Wallet入门:如何在5分钟内快速创建你的第一个IOTA账户 【免费下载链接】legacy-wallet-use-trinity-wallet-instead IOTA Wallet 项目地址: https://gitcode.com/gh_mirrors/le/legacy-wallet-use-trinity-wallet-instead IOTA Wallet是一款专为IOTA加密…...

如何安全备份微信聊天记录:5步完成完整数据保护指南

如何安全备份微信聊天记录:5步完成完整数据保护指南 【免费下载链接】WechatBakTool 基于C#的微信PC版聊天记录备份工具,提供图形界面,解密微信数据库并导出聊天记录。 项目地址: https://gitcode.com/gh_mirrors/we/WechatBakTool 微…...

JoyCon-Driver终极指南:在Windows上免费使用Switch Joy-Con控制器

JoyCon-Driver终极指南:在Windows上免费使用Switch Joy-Con控制器 【免费下载链接】JoyCon-Driver A vJoy feeder for the Nintendo Switch JoyCons and Pro Controller 项目地址: https://gitcode.com/gh_mirrors/jo/JoyCon-Driver 想在Windows电脑上体验任…...

如何使用CSS Stats CLI工具:命令行下的CSS深度分析完整指南

如何使用CSS Stats CLI工具:命令行下的CSS深度分析完整指南 【免费下载链接】cssstats Visualize various stats about your CSS 项目地址: https://gitcode.com/gh_mirrors/cs/cssstats CSS Stats CLI工具是一款强大的命令行工具,能够帮助开发者…...

如何在Obsidian中实现智能PDF标注:PDF++插件终极指南

如何在Obsidian中实现智能PDF标注:PDF插件终极指南 【免费下载链接】obsidian-pdf-plus PDF: the most Obsidian-native PDF annotation & viewing tool ever. Comes with optional Vim keybindings. 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-p…...

Coolapk-UWP终极指南:在Windows电脑上畅游酷安社区的完整解决方案

Coolapk-UWP终极指南:在Windows电脑上畅游酷安社区的完整解决方案 【免费下载链接】Coolapk-UWP 一个基于 UWP 平台的第三方酷安客户端 项目地址: https://gitcode.com/gh_mirrors/co/Coolapk-UWP 你是否厌倦了在小屏幕手机上刷酷安?是否希望在大…...

如何高效使用华为光猫配置解密工具:5步完整操作指南

如何高效使用华为光猫配置解密工具:5步完整操作指南 【免费下载链接】HuaWei-Optical-Network-Terminal-Decoder 项目地址: https://gitcode.com/gh_mirrors/hu/HuaWei-Optical-Network-Terminal-Decoder 华为光猫配置解密工具是一款专为网络管理员和技术爱…...

通过curl命令快速测试Taotoken的API密钥与接口连通性

通过curl命令快速测试Taotoken的API密钥与接口连通性 1. 准备工作 在开始测试之前,请确保您已获取有效的Taotoken API密钥。登录Taotoken控制台,在API密钥管理页面可以创建或查看现有密钥。同时确认您的系统已安装curl工具,大多数Linux/mac…...

保姆级教程:在Jetson Orin上跑通YOLOv8+DeepOCSort多目标跟踪(附模型下载与常见报错解决)

边缘计算实战:Jetson Orin部署YOLOv8DeepOCSort全流程指南 在智能安防、工业质检和自动驾驶等实时场景中,边缘设备上的多目标跟踪技术正成为刚需。NVIDIA Jetson Orin凭借其32TOPS的AI算力和能效比,成为部署轻量级跟踪算法的理想平台。本文将…...

终极跨语言语义搜索解决方案:paraphrase-multilingual-MiniLM-L12-v2完全指南

终极跨语言语义搜索解决方案:paraphrase-multilingual-MiniLM-L12-v2完全指南 【免费下载链接】paraphrase-multilingual-MiniLM-L12-v2 项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/paraphrase-multilingual-MiniLM-L12-v2 在全球化数字时代&…...

蓝桥杯CT107D板子上的555定时器:用单片机T0计数模式测频率的保姆级代码解析

蓝桥杯CT107D开发板实战:用T0计数模式精准测量555定时器频率 在蓝桥杯单片机竞赛中,频率测量是一个经典考点。CT107D开发板上的NE555模块配合51单片机的计数器功能,可以构建一个简单而高效的频率测量系统。本文将彻底解析如何利用定时器T0的计…...

MAA明日方舟助手:终极自动化解决方案,彻底解放你的游戏时间

MAA明日方舟助手:终极自动化解决方案,彻底解放你的游戏时间 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地…...

Element UI el-upload实战:手把手教你实现图片视频混合上传与预览(含样式踩坑记录)

Element UI混合上传实战:图片与视频的样式统一与交互优化 在后台管理系统开发中,文件上传功能几乎是标配需求。Element UI的el-upload组件虽然提供了基础的上传能力,但当我们需要同时处理图片和视频,并且要求视觉风格统一时&#…...

Geometrize开发者指南:如何扩展和定制几何化功能

Geometrize开发者指南:如何扩展和定制几何化功能 【免费下载链接】geometrize :white_square_button: Geometrize is a desktop app that geometrizes images into geometric primitives 项目地址: https://gitcode.com/gh_mirrors/ge/geometrize Geometrize…...

从新手到专家:用RPFM全面战争MOD制作工具实现效率革命

从新手到专家:用RPFM全面战争MOD制作工具实现效率革命 【免费下载链接】rpfm Rusted PackFile Manager (RPFM) is a... reimplementation in Rust and Qt6 of PackFile Manager (PFM), one of the best modding tools for Total War Games. 项目地址: https://git…...

5步快速配置:E7Helper第七史诗自动化助手终极使用指南

5步快速配置:E7Helper第七史诗自动化助手终极使用指南 【免费下载链接】e7Helper 【Epic Seven Auto Bot】第七史诗多功能覆盖脚本(刷书签🍃,挂讨伐、后记、祭坛✌️,挂JJC等📛,多服务器支持📺&…...

国家自然科学基金LaTeX模板:科研人员的格式救星与快速上手指南

国家自然科学基金LaTeX模板:科研人员的格式救星与快速上手指南 【免费下载链接】NSFC-application-template-latex 国家自然科学基金申请书正文(面上项目)LaTeX 模板(非官方) 项目地址: https://gitcode.com/GitHub_…...

2025网盘直链下载终极指南:八大平台全速下载一键搞定

2025网盘直链下载终极指南:八大平台全速下载一键搞定 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云…...

Dufs日志管理终极指南:从基础配置到高级审计追踪的完整教程

Dufs日志管理终极指南:从基础配置到高级审计追踪的完整教程 【免费下载链接】dufs A file server that supports static serving, uploading, searching, accessing control, webdav... 项目地址: https://gitcode.com/gh_mirrors/du/dufs Dufs作为一款功能强…...

终极暗黑3按键助手:一键解放双手,轻松提升游戏体验

终极暗黑3按键助手:一键解放双手,轻松提升游戏体验 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面,可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper 你是否厌倦了在《暗黑破坏…...