Nginx反代实现Kibana登录认证功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx反代实现Kibana登录认证功能相关的知识,希望对你有一定的参考价值。

一、场景介绍:
因Kibana 5.5 版后,已不支持认证功能,也就是说,直接打开页面就能管理,想想都不安全,不过官方提供了 X-Pack 认证,但有时间限制。毕竟X-Pack是商业版。决定采用nginx做反向代理。

二、实现过程

1.安装 Apache Httpd 密码生成工具

[root@master ~]# yum install httpd-tools -y

2.生成Kibana认证密码
?
[root@master ~]# mkdir -p /usr/local/src/nginx/
[root@master ~]# htpasswd -c /usr/local/src/nginx/passwd kibanna
New password:
Re-type new password:
Adding password for user kibanna
注意:上面的 /usr/local/src/nginx/passwd 是生成密码文件的路径,然后feiyu 是用户名,你可以根据需要自行设置成其它用户名。运行命令后,会要求你连续输入两次密码。输入成功后,会提示已经为feiyu这个用户添加了密码。

3.查看下生成的密码文件的内容:
[root@master ~]# cat /usr/local/src/nginx/passwd
kibanna:$apr1$bj22mciQ$4Rq6U1EnZPyxmDj5X8v1d/
其中用户名就是kibanna,分号后面就是密码(已经加过密)。

4.配置Nginx反向代理

在Nginx配置文件中添加如下内容:

[root@master ~]# vim /usr/local/nginx/conf/nginx.conf
技术图片
server {
listen 80;
auth_basic "Restricted Access";
auth_basic_user_file /usr/local/nginx/conf/passwd/kibana.passwd;
location / {
proxy_pass 10.10.17.41:5601;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection ‘upgrade‘;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
配置Kibana

取消下面注释:

[root@master ~]# vim /usr/local/kibana/config/kibana.yml

server.host: "10.10.17.41"
重启 Kibana 及 Nginx 服务使配置生效

$ systemctl restart kibana
$ systemctl restart nginx

接下来浏览器访问 http://IP 会提示验证弹窗,输入以上生成的用户密码登录即可。

以上是关于Nginx反代实现Kibana登录认证功能的主要内容,如果未能解决你的问题,请参考以下文章

ELK日志系统:Filebeat使用及Kibana如何设置登录认证

Kibana嵌入web系统 账号免登录

nginx启用status页面并实现nginx的登录账户认证

nginx+kibana代理以及简单认证

权限认证系统, 实现类似单点登录的功能

6月23 有关登录认证的心得