部署完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頁面就可以看到彈框提示輸入用戶名和密碼了。