Nginx用户访问及密码验证

需求:访问Web页面需要进行用户认证
用户名为:tom,密码为:123456

nginx 下,提供了 ngx_http_auth_basic_module 模块实现让用户只有输入正确的用户名密码才允许访问web内容。默认情况下,nginx 已经安装了该模块。(如果没有安装,点击链接:Nginx安装部署)

  1. 配置nginx配置文件
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
server {
	listen 80;
	server_name www.etiantian.org etiantian.org;//可以写ip,也可以写成一段网址
	auth_basic "Input Password:"; //认证提示符
	auth_basic_user_file "/usr/local/nginx/pass"; //存放密码文件的路径
	location / {
		root html;
		index index.html index.htm;
	}
}
  1. 使用htpasswd生成密码文件
[root@web01 extra]# which htpasswd  #查看是否安装htpasswd
/usr/bin/which: no htpasswd  
安装httpd,因为htpasswd是Apache的Web服务器内置工具,用于创建和更新储存用户名、域和用户基本认证的密码文件。
如果无法联网,去系统iso包里面找htpasswd安装包
[root@web01 extra]# yum -y install httpd  #安装httpd
[root@web01 extra]# which htpasswd  #查看是否安装
[root@web01 extra]# rpm -qf /usr/bin/htpasswd  #查看是否安装
[root@web01 extra]# htpasswd -cb /usr/local/nginx/pass tom 123456  #生成密码文件
[root@web01 extra]# chmod 400 /application/nginx/conf/htpasswd  #为了安全设置文件权限

  1. 检查语法并重启
[root@web01 extra]# /application/nginx/sbin/nginx -t
[root@web01 extra]# /application/nginx/sbin/nginx -s reload
[root@web01 extra]# /application/nginx/sbin/nginx -s reopen
  1. 浏览器查看
    (1)输入www.etiantian.org etiantian.org;–>输入用户名密码–>登录成功
    Nginx用户访问及密码验证_第1张图片

你可能感兴趣的:(Nginx)