介绍
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 安装中列出的步骤进行操作,则该文件应该类似于下面显示的文件。
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
第 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
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. 出现验证窗口,要求你提供用户名和密码。
3. 如何为Kibana配置Nginx反向代理?输入设置 Nginx 时配置的凭据,然后选择Sign In。如果你提供了正确的信息,浏览器将打开 Kibana 欢迎页面。
结论
Kibana如何配置Nginx反向代理?如果你遵循本指南,你应该已经成功为 Kibana 配置了 Nginx 反向代理。这提供了一个额外的安全层来保护通过 Kibana 管理的数据。
你的下一步应该是在我们的Kibana 教程 中浏览用于可视化的 Kibana 功能。