nginx用户认证与htpasswd命令

前端之家收集整理的这篇文章主要介绍了nginx用户认证与htpasswd命令前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

 

最近在搭建ELK,然后ELK的kibana界面想添加一个访问限制,看到kibana有个插件x-pack,本来想用用,发现是收费的,就放弃了,然后就想着想配置下Nginx的认证访问来实现简单的访问登陆。

Nginx用户认证:

  首先Nginx是必须的,如果没有安装的Nginx的安装下Nginx.

  然后我们需要做的就是编辑配置文件配置文件路径为

/etc/Nginx/conf.d/

我们在该目录下创建一个以.conf后缀的文件,然后我们编辑文件内容vim /etc/Nginx/conf.d/Nginx_passwd.conf

 

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; 虚拟主机用户名密码认证文件
      }
}
View Code

 

然后我们需要使用工具httpd-tools生成用户和密码。

首先我们需要安装我们的httpd-tools,

yum install -y httpd-tools

然后我们进入到我们之前设置密码文件的路径目录。

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的命令的一些基本讲解。

猜你在找的Nginx相关文章