前言:在https://cloud.tencent.com/developer/article/2457640文章中,我们已经讲了如何为Elasticsearch集群生成SSL证书开启HTTPS访问。在Elasticsearch集群开启HTTPS访问后,所有访问Elasticsearch服务的组件都需要以HTTPS的方式对集群进行访问。
在本文中我们将会对kibana进行SSL证书生成以及相关配置使用进行讲解。
在kibana.yml中我们需要将原有的http://IP:9200变更为https://IP:9200。然后重启kibana服务。
elasticsearch.hosts: ["https://IP:9200"]
这里我们使用的是免费的OpenSSL来进行自签名证书的生成。
openssl req -x509 -newkey rsa:4096 -keyout kibana-key.pem -out kibana-cert.pem -days 365 -nodes
该命令会生成以下两个文件。该命令将生成两个文件:
• kibana-key.pem: 私钥
• kibana-cert.pem: 证书
在kibana安装目录下,编辑kibana.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.certificate
和server.ssl.key
指定的路径是正确的,并对这两个文件设置正确的用户与权限。
保存并关闭kibana.yml文件,重启kibana服务。
此时我们的kibana对外提供服务时,就已经成功开启HTTPS。
扩展说明:
在证书生成工具的选择上也可以使用Let’s Encrypt之类的免费服务,通过 Certbot 生成证书:
sudo certbot certonly --standalone -d yourdomain.com
这个工具会生成与域名匹配的证书,文件通常位于 /etc/letsencrypt/live/yourdomain.com/ 目录下。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。