在我之前的文章:
我详细地讲述了如何安装 Elasticsearch 及 Kibana。在上面的安装中,Elasticsearch 的访问是 https 的,而 Kibana 的访问是 http 的。在我发布上面的第二篇文章后,有个开发者问该如何为 Kibana 有配置 https。你必须为 Kibana 创建服务器证书和私钥。 Kibana 在接收来自 Web 浏览器的连接时使用此服务器证书和相应的私钥。
首先,我们按照上面的文章安装 Elasticsearch 及 Kibana。然后,我们使用如下的命令为 Kibana 生成服务器证书和私钥:
./bin/elasticsearch-certutil csr -name kibana-server -dns example.com, localhost
在上面,我们生成的证书仅仅可以供 example.com 及 localhost 使用。上面的命令将生成如下的文件:
$ ls
LICENSE.txt bin data logs
NOTICE.txt config jdk.app modules
README.asciidoc csr-bundle.zip lib plugins
我们发现有一个叫做 csr-bundle.zip 的文件。我们使用如下的命令来进行解压缩:
unzip csr-bundle.zip
$ unzip csr-bundle.zip
Archive: csr-bundle.zip
creating: kibana-server/
inflating: kibana-server/kibana-server.csr
inflating: kibana-server/kibana-server.key
我们把上面的 kibana-server.csr 及 kibana-server.key 拷贝到 Kibana 的 config 目录下,这样在 Kibana config 目录下的文件是这样的:
$ pwd
/Users/liuxg/elastic/kibana-8.0.0/config
$ ls
kibana-server.key node.options kibana-server.csr kibana.yml
我们接下来使用如下的命令来生成?kibana-server.crt 文件:
openssl x509 -req -in kibana-server.csr -signkey kibana-server.key -out kibana-server.crt
上面的命令将生成一个新的文件?kibana-server.crt。
我们接下来在 Kibana 的配置文件 kibana.yml 中添加如下的配置:
server.ssl.certificate: config/kibana-server.crt
server.ssl.key: config/kibana-server.key
server.ssl.enabled: true
我们接下来重新启动 Kibana:
在我们首次登陆 Kibana 时,由于是自签名的证书,所以我们需要打入 thisisunsafe 才可以进入到上面的界面。这样我们就完成了 Kibana 的 https 的访问配置。?
|