Kibana通過nginx驗證登陸
阿新 • • 發佈:2019-01-10
前段時間公司用需要用到elk日誌採集,而kibana本身是由node.js寫成,本身沒有登陸限制。這使一些日誌的資料就不是那麼安全,所以這裡我們通過nginx的驗證登陸到kibana。這樣作有幾個好處:
第一:為kibana加上了使用者登陸訪問
第二:不暴露伺服器上5601埠,只開放80埠即可。這對伺服器的安全也是一個很大的保護。
接下來我們就開始配置nginx與kibana。其中nginx的安裝這裡不作詳述,大家可以去看筆者另一篇文章:centos下安裝nginx
一、配置nginx
首先開啟nginx的配置檔案
vim /usr/local/nginx/conf/nginx.conf
在server中的localhost /{}中配置
server { listen 80; server_name localhost; location / { auth_basic "secret"; auth_basic_user_file /usr/local/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"; } }
這裡定義了從80埠進來的請求,若無關鍵字則由/代理到本機的5601埠。這裡需要注意,kibana的代理必須在/下,不能加上關鍵字,不然這會報錯“重定向次數過多”。其次,上面定義了安置密碼的路徑,這裡我們需要在nginx目錄下建立db資料夾
mkdir /usr/local/nginx/db
二、配置登陸使用者帳號密碼
我們要先安裝httpd外掛
yum install -y httpd
之後在輸入建立使用者命令
htpasswd -c /usr/local/nginx/db/passwd.db user
其中的user可以更換為自己想要的使用者名稱(上面的路徑需要和nginx裡配置的密碼路徑一致)。回車後,會提示輸入密碼倆次。輸入一致後就完成使用者的建立,這是我們可以vim下passwd.db看看,裡面是加密過後的密碼。三、訪問kibana
這時候再去訪問kibana,無需帶上埠。只要訪問ip或者域名,就會有提示框提示輸入帳號密碼。就完成為kibana配置使用者的步驟了。