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

2021年11月20日18:13:55 发表评论 2,250 次浏览

介绍

Kibana如何配置Nginx反向代理?保护 Kibana 仪表板免受恶意入侵者侵害的最简单方法是设置Nginx 反向代理。通过这样做,你可以确保只有受密码保护的授权用户才能访问 Kibana(以及 Elasticsearch 中的数据)。

如何为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_processes  1;
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 功能。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: