最近在搭建ELK,而後ELK的kibana界面想添加一個訪問限制,看到kibana有個插件x-pack,原本想用用,發現是收費的,就放棄了,而後就想着想配置下nginx的認證訪問來實現簡單的訪問登錄。nginx
nginx的用戶認證:算法
首先nginx是必須的,若是沒有安裝的nginx的安裝下nginx.vim
而後咱們須要作的就是編輯配置文件。配置文件路徑爲服務器
/etc/nginx/conf.d/
咱們在該目錄下建立一個以.conf後綴的文件,而後咱們編輯文件的內容vim /etc/nginx/conf.d/nginx_passwd.confide
server { listen 80; //監聽端口爲80 server_name www.rsyslog.org; //映射到這臺服務器的域名 access_log /usr/local/nginx/logs/www1_status.log; location / { proxy_pass http://192.168.40.66:5601 //kibana的默認訪問路徑 auth_basic "secret"; //虛擬主機認證命名 auth_basic_user_file /usr/local/httpd-tools/nginx_passwd.kibana; //虛擬主機用戶名密碼認證文件 } }
而後咱們須要使用工具httpd-tools生成用戶和密碼。工具
首先咱們須要安裝咱們的httpd-tools,加密
yum install -y httpd-tools
而後咱們進入到咱們以前設置密碼文件的路徑目錄。spa
mkdir /usr/local/httpd-tools/ && cd !$
而後生成咱們的密碼文件插件
htpasswd -c -b nginx_passwd.kibana(密碼文件名) test(用戶名) test(用戶密碼)
而後咱們重啓咱們的nginx讓配置生效。(注意事項:就是在配置密碼文件的時候注意一個權限問題,建議直接將密碼文件的全部者改成nginx)。命令行
接下來補充以一下咱們的htpasswd命令:
htpasswd命令: -c 建立加密文件; -n 不更新加密文件,只將加密的用戶密碼顯示在屏幕上; -m 默認採用MD5算法進行加密; -d 採用 CRYPT 算法對密碼進行加密 -p 不對密碼進行加密 ,即明文密碼; -s 採用 SHA算法對密碼進行加密 -b 在命令行中一併輸入用戶名和密碼而不是根據提示輸入密碼。 -D 刪除指定的用戶 建立密碼文件而且添加用戶, htpasswd -c -b 文件名 用戶名 密碼 添加用戶不建立文件 htpasswd -b 用戶名 密碼 刪除用戶和密碼 htpasswd -D 文件名 用戶名 修改密碼 : 就是刪除用戶而後建立用戶 htpasswd -D 文件名 用戶名 htpasswd -b 用戶名 密碼
以上就是咱們的nginx用戶認證配置和htpasswd的命令的一些基本講解。