-
下载apache2-utils:
sudo apt install apache2-utils
-
root新增用户zhangsq:
htpasswd -c /etc/nginx/.htpasswd zhangsq
-
更改/etc/nginx/nginx.conf配置
///////////////////////////配置全站点登陆访问//////////////////////////////
server {
listen 80;
server_name localhost;
.......
# 新增下面两行
auth_basic "Please input password"; #这里是验证时的提示信息
auth_basic_user_file /usr/local/src/nginx/passwd;
location /hello{
.......
}
/////////////////////////////////////只在/hello目录开启登陆访问/////////////////////////////////////////
server {
listen 80;
server_name localhost;
.......
location /hello{
#新增下面两行 #新增下面两行
auth_basic "Please input password"; #这里是验证时的提示信息 auth_basic "Please input password"; #这里是验证时的提示信息
auth_basic_user_file /usr/local/src/nginx/passwd; auth_basic_user_file /usr/local/src/nginx/passwd;
.......
}
- 重启nginx:
nginx -s reload
- 然后再次访问该站点:
以下是htpasswd命令使用介绍
1.htpasswd选项参数
1
2
3
4
|
htpasswd [-cmdpsD] passwordfile username htpasswd -b[cmdpsD] passwordfile username password htpasswd -n[mdps] username htpasswd -nb[mdps] username password |
htpasswd命令选项参数说明
-c 创建一个加密文件
-n 不更新加密文件,只将htpasswd命令加密后的用户名密码显示在屏幕上
-m 默认htpassswd命令采用MD5算法对密码进行加密
-d htpassswd命令采用CRYPT算法对密码进行加密
-p htpassswd命令不对密码进行进行加密,即明文密码
-s htpassswd命令采用SHA算法对密码进行加密
-b htpassswd命令行中一并输入用户名和密码而不是根据提示输入密码
-D 删除指定的用户
2.htpasswd例子
a、如何利用htpasswd命令添加用户?
1
|
htpasswd -bc ./.passwd tonyzhang pass |
在当前目录下生成一个.passwd文件,用户名tonyzhang ,密码:pass,默认采用MD5加密方式
b、如何在原有密码文件中增加下一个用户?
1
|
htpasswd -b ./.passwd onlyzq pass |
去掉c选项,即可在第一个用户之后添加第二个用户,依此类推
c、如何不更新密码文件,只显示加密后的用户名和密码?
1
|
htpasswd -nb tonyzhang pass |
不更新.passwd文件,只在屏幕上输出用户名和经过加密后的密码
d、如何利用htpasswd命令删除用户名和密码?
1
|
htpasswd -D .passwd tonyzhang |
e、如何利用 htpasswd 命令修改密码?
1
2
|
htpasswd -D .passwd tonyzhang htpasswd -b .passwd tonyzhang pass |