1. 程式人生 > >elk-Kibana設置登錄認證-通過nginx轉發(六)

elk-Kibana設置登錄認證-通過nginx轉發(六)

嘗試 密碼 技術分享 table 增加 pac clas nodejs開發 bsp

一、kibana的登錄認證問題

kibana是nodejs開發的,本身並沒有任何安全限制,直接瀏覽url就能訪問,如果公網環境非常不安全,可以通過nginx請求轉發增加認證,方法如下:

tips:kibana沒有重啟命令,要重啟,只能ps -ef|grep node 查找nodejs進程,幹掉重來。

server {
  listen       80;
  server_name elk.yjmyzz.com;
  location / {
     auth_basic "secret";
     auth_basic_user_file /data/nginx/db/passwd.db;
     proxy_pass http://localhost:5601;
     proxy_set_header Host $host:5601;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header Via "nginx";
  }
  access_log off;
}

上面的配置表示將elk.yjmyzz.com的請求,轉發到服務器的5601端口,同時使用最基本的用戶名、密碼來認證。

二、配置登錄用戶名,密碼

htpasswd -c /data/nginx/db/passwd.db user1

#htpasswd是apache自帶的小工具,如果找不到該命令,嘗試用yum install httpd安裝

 註意passwd.db的路徑要跟nginx配置中的一致,最後的user1為用戶名,可以隨便改,輸入完該命令後,系統會提示輸入密碼,搞定後passwd.db中就有加密後的密碼了,有興趣的可以cat看下。 

註意:  這個路徑    auth_basic_user_file /data/nginx/db/passwd.db;

 三、關掉kibana端口的外網訪問

用nginx轉發後,一定要記得配置iptables之類的防火墻,禁止外部直接訪問5601端口,這樣就只能通過nginx來訪問了。

技術分享圖片

elk-Kibana設置登錄認證-通過nginx轉發(六)