最近在搭建ELK,然后ELK的kibana界面想添加一個(gè)訪問(wèn)限制,看到kibana有個(gè)插件x-pack,本來(lái)想用用,發(fā)現(xiàn)是收費(fèi)的,就放棄了,然后就想著想配置下nginx的認(rèn)證訪問(wèn)來(lái)實(shí)現(xiàn)簡(jiǎn)單的訪問(wèn)登陸。
nginx的用戶認(rèn)證:
首先nginx是必須的,如果沒有安裝的nginx的安裝下nginx.
然后我們需要做的就是編輯配置文件。配置文件路徑為
/etc/nginx/conf.d/
我們?cè)谠撃夸浵聞?chuàng)建一個(gè)以.conf后綴的文件,然后我們編輯文件的內(nèi)容vim /etc/nginx/conf.d/nginx_passwd.conf
server {
listen 80; //監(jiān)聽端口為80
server_name www.linuxidc.com; //映射到這臺(tái)服務(wù)器的域名
access_log /usr/local/nginx/logs/www1_status.log;
location / {
proxy_pass http://192.168.40.66:5601 //kibana的默認(rèn)訪問(wèn)路徑
auth_basic “secret”; //虛擬主機(jī)認(rèn)證命名
auth_basic_user_file /usr/local/httpd-tools/nginx_passwd.kibana; //虛擬主機(jī)用戶名密碼認(rèn)證文件
}
}
然后我們需要使用工具h(yuǎn)ttpd-tools生成用戶和密碼。
首先我們需要安裝我們的httpd-tools,
yum install -y httpd-tools
然后我們進(jìn)入到我們之前設(shè)置密碼文件的路徑目錄。
mkdir /usr/local/httpd-tools/ && cd !$
然后生成我們的密碼文件
htpasswd -c -b nginx_passwd.kibana(密碼文件名) test(用戶名) test(用戶密碼)
然后我們重啟我們的nginx讓配置生效。(注意事項(xiàng):就是在配置密碼文件的時(shí)候注意一個(gè)權(quán)限問(wèn)題,建議直接將密碼文件的所有者改為nginx)。
接下來(lái)補(bǔ)充以一下我們的htpasswd命令:
htpasswd命令:
-c 創(chuàng)建加密文件;
-n 不更新加密文件,只將加密的用戶密碼顯示在屏幕上;
-m 默認(rèn)采用MD5算法進(jìn)行加密;
-d 采用 CRYPT 算法對(duì)密碼進(jìn)行加密
-p 不對(duì)密碼進(jìn)行加密 ,即明文密碼;
-s 采用 SHA算法對(duì)密碼進(jìn)行加密
-b 在命令行中一并輸入用戶名和密碼而不是根據(jù)提示輸入密碼。
-D 刪除指定的用戶
創(chuàng)建密碼文件并且添加用戶,
htpasswd -c -b 文件名 用戶名 密碼
添加用戶不創(chuàng)建文件
htpasswd -b 用戶名 密碼
刪除用戶和密碼
htpasswd -D 文件名 用戶名
修改密碼 :
就是刪除用戶然后創(chuàng)建用戶
htpasswd -D 文件名 用戶名
htpasswd -b 用戶名 密碼
以上就是我們的nginx用戶認(rèn)證配置和htpasswd的命令的一些基本講解。