这个实现的原理就是创建虚拟用户,在nginx的配置文件中指定生成的用户密码文件,当访问网页时就会弹出提示输入用户密码的提示,然输入正确的用户密码就可以访问。否则无法访问。
一.安装nginx
可参考文章安装nginx
二.安装密码生成工具
[root@localhost nginx]# yum -y install httpd-tools
2.1生成用户和密码文件
[root@localhost nginx]# htpasswd -c /usr/local/nginx/password web01
New password: 这里输入密码
Re-type new password: 再次输入密码
Adding password for user web01
参数说明
web01 是自定义用户
password 是密码文件回车后,输入用户名的密码,就完成了文件的生成。
2.2查看生成的用户和密码
[root@localhost nginx]#cat /usr/local/nginx/password
web01:$apr1$86rQCfVR$nmgYk/GNzMGj7ueqkA5j61
2.3对用户的操作方法
2.3.1删除用户和密码
htpasswd -D /usr/local/nginx/password username
# -D 删除指定的用户
2.3.2修改用户和密码
htpasswd -D /usr/local/nginx/password username
$ htpasswd -b /usr/local/nginx/password username pass
# -D 删除指定的用户
# -b htpassswd命令行中一并输入用户名和密码而不是根据提示输入密码
# -p htpassswd命令不对密码进行进行加密,即明文密码
2.4修改nginx配置
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
# 验证时的提示信息
auth_basic "请输入用户和密码";
# 认证文件
auth_basic_user_file /usr/local/nginx/password;
location / {
root /usr/local/nginx/html/pic/;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
charset utf-8,gbk;
}
error_page 404 /404.html;
location = /40x.html{
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
2.5重启服务
[root@localhost nginx]# nginx -s reload
访问测试,结果如下图

1378

被折叠的 条评论
为什么被折叠?



