如何为Kibana配置Nginx反向代理(详细操作指南)

介绍Kibana如何配置Nginx反向代理?保护 Kibana 仪表板免受恶意入侵者侵害的最简单方法是设置Nginx 反向代理。通过这样做,你可以确保只有受密码保护的授权用户才能访问 Kibana(以及 Elasticsearch 中的数据)。
如何为Kibana配置Nginx反向代理?在本教程中,你将学习如何为 Kibana 配置 Nginx 反向代理,包括相关的Kibana配置Nginx反向代理示例。
【如何为Kibana配置Nginx反向代理(详细操作指南)】先决条件

  • 安装在你的系统上的正常运行的 ELK 堆栈
  • 具有sudo  权限的用户帐户 
  • 访问终端窗口/命令行
注意:如果你还没有设置 ELK 堆栈,请参阅我们的指南:在 CentOS 上安装 ELK 堆栈或在 Ubuntu上安装 ELK 堆栈。
为 Kibana 配置 Nginx 反向代理第 1 步:配置 Kibana
Kibana如何配置Nginx反向代理?在开始设置 Nginx 之前,请确保编辑 Kibana 和 Elasticsearch 的配置文件。
1. 首先,运行以下命令打开 Kibana 的配置文件:
sudo vim /etc/kibana/kibana.yml

如果你按照Kibana 安装中列出的步骤进行操作,则该文件应该类似于下面显示的文件。
如何为Kibana配置Nginx反向代理(详细操作指南)

文章图片
2. Kibana配置Nginx反向代理示例 - 将默认服务器端口和服务器主机地址更改为以下值:
server.host:"localhost"

server.port:5601

3. 接下来,保存并退出文件。
4. 使用以下命令重启 Kibana 服务:
sudo service kibana restart

第 2 步:配置 Elasticsearch
1. 如何为Kibana配置Nginx反向代理?对 Elasticsearch 重复相同的过程。打开它的配置文件:
sudo vim /etc/elasticsearch/elasticsearch.yml

2.接下来,找到以下几行并更改默认端口和主机:
http.port: 9200

network.host: localhost

3.保存文件并重启服务:
sudo service elasticsearch restart

4. 最后,通过在浏览器中导航到以下 URL 来验证你可以访问 Kibana:
http:/ / localhost:5601

如何为Kibana配置Nginx反向代理(详细操作指南)

文章图片
如何为Kibana配置Nginx反向代理
第 3 步:安装和配置 Nginx
Kibana如何配置Nginx反向代理?下一步是设置 Nginx。
1.如果你还没有安装Nginx,运行命令:
sudo apt-get install nginx

注意:有关 Nginx 安装的详细说明,你可以参考如何在 Ubuntu 18.04上安装 Nginx或如何在 CentOS 8 上安装 Nginx。
2. Kibana配置Nginx反向代理示例 - 设置 Nginx 后,安装apache2-utils,一个用于创建受密码保护帐户的实用程序:
sudo apt-get install apache2-utils

3. 然后,创建一个你要用于访问 Kibana 的用户帐户。user_account在命令中替换为你要使用的用户名:
sudo htpasswd -c /etc/nginx/htpasswd.users user_account

如何为Kibana配置Nginx反向代理(详细操作指南)

文章图片
如何为Kibana配置Nginx反向代理
4. 然后输出要求你为此用户提供并重新键入密码:
New password: Re-type new password: Adding password for user user_account

5.接下来,为Nginx创建一个配置文件:
sudo vim /etc/nginx/conf.d/kibana.conf

6. 在文本编辑器中添加以下内容:
worker_processes1; events { worker_connections 1024; }http { upstream elasticsearch { server 127.0.0.1:9200; keepalive 15; }upstream kibana { server 127.0.0.1:5601; keepalive 15; }server { listen 8881; location / { auth_basic "Restricted Access"; auth_basic_user_file /etc/nginx/htpasswd.users; proxy_pass http://elasticsearch; proxy_redirect off; proxy_buffering off; proxy_http_version 1.1; proxy_set_header Connection "Keep-Alive"; proxy_set_header Proxy-Connection "Keep-Alive"; }}server { listen 8882; location / { auth_basic "Restricted Access"; auth_basic_user_file /etc/nginx/htpasswd.users; proxy_pass http://kibana; proxy_redirect off; proxy_buffering off; proxy_http_version 1.1; proxy_set_header Connection "Keep-Alive"; proxy_set_header Proxy-Connection "Keep-Alive"; } } }

7. 保存并退出文件。
注意:在上面的配置中,Nginx 通过侦听端口 8882 和 Elasticsearch 通过端口 8881 连接到 Kibana。如果你使用不同的端口,请确保相应地更改配置。
第 4 步:重启服务  
你需要重新启动服务才能识别新配置。
1. 运行以下命令重启 Nginx:
sudo service nginx restart

2. 然后,使用以下命令重启 Kibana 服务:
sudo service kibana restart

步骤 5:确认身份验证正常工作
1. Kibana配置Nginx反向代理示例 - 打开 Web 浏览器并导航到你分配给 Kibana 的 IP 地址。
2. 出现验证窗口,要求你提供用户名和密码。
如何为Kibana配置Nginx反向代理(详细操作指南)

文章图片
3. 如何为Kibana配置Nginx反向代理?输入设置 Nginx 时配置的凭据,然后选择Sign In。如果你提供了正确的信息,浏览器将打开 Kibana 欢迎页面。
如何为Kibana配置Nginx反向代理(详细操作指南)

文章图片
结论Kibana如何配置Nginx反向代理?如果你遵循本指南,你应该已经成功为 Kibana 配置了 Nginx 反向代理。这提供了一个额外的安全层来保护通过 Kibana 管理的数据。
你的下一步应该是在我们的Kibana 教程 中浏览用于可视化的 Kibana 功能。

    推荐阅读