Kibana+Nginx实现页面权限验证

部署完EFK后,可以直接在浏览器进入kibana页面进行访问,

而这样对一些重要数据来说是不安全的,可以利用密码验证来设置权限访问。

在Kibana所在的服务器上安装Nginx服务,利用Nginx的转发指令实现。 

安装好Nginx后,进入Nginx配置页面,修改如下:

worker_processes 1;
events { worker_connections
1024; } http { include mime.types; default_type application/octet-stream; #添加upstream模块 upstream kibana_web { server 127.0.0.1:5601 weight=1 max_fails=2 fail_timeout=30s; ##如果不是绑定在127.0.0.1,则修改为主机ip } sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; location / { root html; index index.html index.htm; proxy_set_header Host $host; proxy_pass http://kibana_web; ##对应上面的upstream
      auth_basic "The Kibana Monitor Center"; ###认证靠这两行
auth_basic_user_file /usr/share/nginx/html/.htpasswd;
###认证靠这两行,后面是生成的加密文件的路径

}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}

通过加密工具htpasswd生成账号和密码:

[root@leeclient html]# htpasswd -c /usr/share/nginx/html/.htpasswd admin
New password: 
Re-type new password: 
Adding password for user admin

如果没有安装apache可能没有这个命令,通过下面命令安装:

yum install httpd-tools

然后就可以使用htpasswd命令了,一定要注意文件路径和Nginx里配置的要一样!

配置完成后,nginx -t 检查配置是否正确,然后 -s reload下Nginx,再次访问Kibana页面就可以看到弹框提示输入用户名和密码了。

posted @ 2018-11-23 15:58  重启一把梭  阅读(1338)  评论(0编辑  收藏  举报