win10环境配置elasticsearch使用HTTPs连接Kibana
win10操作系统配置Kibana使用HTTPS连接ElasticSearch,以及遇到的一些错误:比如使用pem文件时kibana闪退,改用crt文件
目录
3.配置ES安装目录下的 config/elasticsearch.yml 文件
环境
操作系统:Windows10
ElasticSearch(后面简称ES)版本:9.0.1,
Kibana版本:9.0.1
配置流程介绍
其实总的来说就三步
- 生成CA根证书:相当于你的签名,代表你的信任
- 根据CA根证书生成节点证书:用你的印章去盖章节点证书,代表这个节点被你信任,用于transport层的ssl连接,用于节点间通信(配置集群的时候)
- 根据CA证书生成Http证书:用于HTTP层的ssl连接,用于客户端/服务端的连接,比如kibana连接ES
后面的配置文件中可以看到有xpack.security.transport.ssl和xpack.security.http.ssl的配置。
ES配置
1.生成CA根证书
在ES的bin文件夹下打开cmd:输入如下命令后你要输入文件名称(直接回车是默认文件名elastic-stack-ca.p12)和密码。
elasticsearch-certutil ca

2.用CA根证书生成用户/节点证书
根据CA证书生成ES节点通信加密证书,输入如下命令后,提示你输入证书的文件名称(默认elastic-certificates.p12)和密码。
elasticsearch-certutil cert --ca elastic-stack-ca.p12
3.配置ES安装目录下的 config/elasticsearch.yml 文件
xpack.security.transport.ssl.
# 这里的属性值是第二步生成的文件路径
xpack.security.transport.ssl:
client_authentication: required
enabled: true
verification_mode: certificate
keystore.path: certs/elastic-certificates.p12
truststore.path: certs/elastic-certificates.p12
4.配置加密密文
分别输入一下两条命令,每输入一条都要输入一次密码(第二步配置的密码)
elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password
elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password
5.生成http.p12文件(重点)
输入elasticsearch-certutil http后注意光标
出现Generate a CSR? [y/N]后输入N回车
![]()
使用现有的CA文件:y

输入现有CA证书的路径:我这里输入的是相对路径:certs/elastic-stack-ca.cp12(输错不用担心,它会提示,看清提示再输一次就好了)。输入路径后要输入CA的密码。就第一步设置的密码。
cmd的位置和文件位置如下


设置证书的有效期:我这里是2年(2y)
![]()
创建节点,这里创建一个节点,节点名称为node-1


添加域名:这里输入localhost,在按回车可以输入下一个域名,连续两次回车可以跳下一步

这里配置客户端的ip地址(就是能连接ES的客户端系统,比如Kibana,java等,建议配置127.0.0.1,否则会报错,具体看末尾)

这里第一句应该是是否要改上一个节点内容,第二句是否再加节点,我一台电脑输入N,各位看情况来

这里是配置http.p12文件的加密密码,回车为空。我这里配置为空,如果这里配置密码后续还要配置一下,后面会有粗体标注。

这里是生成的压缩包路径,直接回车就好了,会在cmd的当前文件夹下生成

配置错了可以重新配,记得把压缩包先删了或挪走,它不会覆盖
配置elasticsearch.yml文件。这里是password是明文,第4步cmd输入的命令会帮你进行加密,推荐使用第4步的。
xpack.security.http.ssl:
enabled: true
keystore.path: certs/http.p12
keystore.password: ""
如果之前配置了http.p12的密码,则需要输入下面的命令进行配置
elasticsearch-keystore add xpack.security.http.ssl.keystore.secure_password
下载OpenSSL提取从http.p12提取crt证书
网上很多人都是使用p12文件,但是我使用该文件的时候Kibana闪退,经过查找,改用crt文件才可以正常连接,大家也可以试着使用p12文件看看是否会遇到该问题。
下载地址:Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions
下载一个light级的即可。下载后配置环境变量:D:\Program Files\OpenSSL-Win64\bin(换成你自己的路径)
在含有http.p12的目录打开cmd,输入openssl pkcs12 -in http.p12 -cacerts -nokeys -out http_ca.crt
配置Kibana 的 kibana.yml 文件
# 配置证书地址,这里配置的crt文件的绝对路径,我这个版本配置pem文件会出现闪退
elasticsearch.ssl.certificateAuthorities: [ "D:/Program Files/ElasticSearch/elasticsearch-9.0.1/config/certs/http_ca.crt" ]
# 配置 ES https连接地址
elasticsearch.hosts: https://127.0.0.1:9200
# ES的账号,如果忘记了需要在ES重置,这与超级账号elastic不同
elasticsearch.username: "kibana_system"
elasticsearch.password: "q123456"
配置HTTPS访问Kibana
输入一下命令,生成证书和私钥
elasticsearch-certutil csr -name kibana-server -dns localhost
将生成的csr-bundle.zip压缩包解压到kibana的config文件夹下
使用以下命令生成crt文件
openssl x509 -req -in kibana-server.csr -signkey kibana-server.key -out kibana-server.crt
配置kibana.yml文件:
server.ssl.enabled: true
server.ssl.certificate: config/kibana-server.crt
server.ssl.key: config/kibana-server.key
我这里遇到一些问题,卡住了
1. 工作目录是bin文件夹,不会改,只能在根目录执行kibana.bat启动文件
2. 报错: Illegal characters used in tag key:我感觉是文件格式不对报这个错,导致他识别不了,但是我使用不是一对的私钥和证书的时候他能识别出这个私钥不对,不懂是啥情况,找不到相关解决办法。要是遇到这个问题感觉就不用设置HTTPS访问了,就用普通的HTTP即可。
兄弟们要是解决了麻烦跟私信我,想了解下。
调试技巧
可以使用PowerShell执行启动文件,这样子报错就不会像cmd一下子闪退。
按住shift键并右键bin文件夹。

常见错误
同时配置密文和明文
failed to load SSL configuration [xpack.security.transport.ssl] - cannot specify both [keystore.secure_password] and [keystore.password]
原因:这是因为你在配置文件和cmd命令都配置了密码,cmd使用keytool对密码进行加密保存,而配置文件则是明文保存,将其中一个配置为空就行,比如配置明文,将密文配置为空,即输入第四步的命令后直接回车。
没有添加客户端地址报错
Unable to retrieve version information from Elasticsearch nodes. Hostname/IP does not match certificate's altnames: IP: 127.0.0.1 is not in the cert's list:
报错:读取不到IKAnalyzer.cfg.xml
这是安装提词器的时候报错,好像是因为将提词器直接解压到相应目录会导致没权限读取,所以用cmd进行安装
elasticsearch-plugin install https://get.infini.cloud/elasticsearch/analysis-ik/9.0.1
修改ES账号密码
这里记得要先启动ES,如果要修改elastic账号就把粗体的内容改成elastic
elasticsearch-reset-password -u kibana_system -i --url https://localhost:9200
参考地址
启动kibana闪退解决方法_kibana启动闪退-CSDN博客
Kibana:为访问 Kibana 添加 https - Elastic Stack 8.0_kibana server.ssl.enable-CSDN博客
elasticsearch+kibana 开启 https 支持 - 临渊不羡渔 - 博客园
ELK生成PEM格式的ca证书、设置Https并使用Elasticsearch Java Client连接_elasticsearch-ca.pem-CSDN博客
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)