admin管理员组

文章数量:1794759

如何配置kibana的SSL证书开启HTTPS访问

前言:在,我们已经讲了如何为Elasticsearch集群生成SSL证书开启HTTPS访问。在Elasticsearch集群开启HTTPS访问后,所有访问Elasticsearch服务的组件都需要以HTTPS的方式对集群进行访问。

在本文中我们将会对kibana进行SSL证书生成以及相关配置使用进行讲解。

一.配置kibana以HTTPS的方式访问Elasticsearch

在kibana.yml中我们需要将原有的http://IP:9200变更为https://IP:9200。然后重启kibana服务。

代码语言:yml复制
elasticsearch.hosts: ["https://IP:9200"]

二.生成Kibana服务的SSL证书

1.生成自签名证书

这里我们使用的是免费的OpenSSL来进行自签名证书的生成。

代码语言:bash复制
openssl req -x509 -newkey rsa:4096 -keyout kibana-key.pem -out kibana-cert.pem -days 365 -nodes

该命令会生成以下两个文件。该命令将生成两个文件:

• kibana-key.pem: 私钥

• kibana-cert.pem: 证书

2.配置kibana.yml启用HTTPS

在kibana安装目录下,编辑kibana.yml,修改以下内容:

代码语言:yml复制
server.ssl.enabled: true
server.ssl.certificate: /data/kibana-8.13.0/kibana-cert.pem
server.ssl.key: /data/kibana-8.13.0/kibana-key.pem
# 选择完全验证证书模式
elasticsearch.ssl.verificationMode: full
# 这个证书在Elasticsearch生成HTTP证书时已经生成。复制到kibana安装目录下配置使用即可。
elasticsearch.ssl.certificateAuthorities: [ "/data/kibana-8.13.0/elasticsearch-ca.pem" ]

这里需要注意确保server.ssl.certificateserver.ssl.key指定的路径是正确的,并对这两个文件设置正确的用户与权限。

3. 验证 Kibana SSL 配置

保存并关闭kibana.yml文件,重启kibana服务。

此时我们的kibana对外提供服务时,就已经成功开启HTTPS。

扩展说明:

在证书生成工具的选择上也可以使用Let’s Encrypt之类的免费服务,通过 Certbot 生成证书:

代码语言:bash复制
sudo certbot certonly --standalone -d yourdomain

这个工具会生成与域名匹配的证书,文件通常位于 /etc/letsencrypt/live/yourdomain/ 目录下。

本文标签: 如何配置kibana的SSL证书开启HTTPS访问