部署完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页面就可以看到弹框提示输入用户名和密码了。