Nginx配置访问用户认证

Nginx配置访问用户认证

条件

1、安装with-http_ssl_module模块(SSL加密模块);
2、安装 httpd-tools 工具包;

实操

1、查看是否安装ssl加密模块

# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.8.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC) 
built with OpenSSL 1.0.1g 7 Apr 2014
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module --with-openssl=/usr/local/src/openssl-1.0.1g --with-pcre=/usr/local/src/pcre-8.38 --add-module=/usr/local/src/nginx_upstream_check_module-master/ 

2、安装 httpd-tools 工具包(如果是yum安装nginx则忽略此步)

# yum install httpd-tools -y

3、生成密码文件

# cd /usr/local/nginx
# mkdir passwd
# cd passwd
# htpasswd -bc kibana-passwd yukw 123456    ##创建一个用户yukw,设置密码为123456
Adding password for user yukw
# ll
总用量 4
-rw-r--r-- 1 root root 43 6月   5 14:29 kibana-passwd
# cat kibana-passwd 
yukw:$apr1$TaRI7UGC$d.QRt.hidadGqxSZeNqlG0
# htpasswd -b kibana-passwd kibana kibana-passwd  ##新增一个用户kibana,这里不加-c表示新增,加-c则会覆盖密码文件
Adding password for user kibana
# cat kibana-passwd 
yukw:$apr1$TaRI7UGC$d.QRt.hidadGqxSZeNqlG0
kibana:$apr1$RpE.Qp51$UY4iskNNvy5HHNo0f4hao/

htpasswd参数说明
-c 创建passwdfile.如果passwdfile 已经存在,那么它会重新写入并删去原有内容.
-n 不更新passwordfile,直接显示密码
-m 使用MD5加密(默认)
-d 使用CRYPT加密(默认)
-p 使用普通文本格式的密码
-s 使用SHA加密
-b 命令行中一并输入用户名和密码而不是根据提示输入密码,可以看见明文,不需要交互
-D 删除指定的用户

4、修改nginx配置文件
在server段加上如下两行:
auth_basic “Please input password”;
auth_basic_user_file /usr/local/nginx/conf/passwd/kibana-passwd;
Nginx配置访问用户认证_第1张图片
5、重载nginx

# /usr/local/nginx/sbin/nginx -t
# /usr/local/nginx/sbin/nginx -s reload

6、验证
打开浏览器,输入域名访问,出现提示输入用户名密码表示配置成功
Nginx配置访问用户认证_第2张图片

好了,这就是Nginx配置访问用户认证的方法了,如有问题可与博主一起交流讨论!

你可能感兴趣的:(网络,运维,nginx,linux,nginx,认证)