很多时候我们需要对一些网站进行密码保护,
创建密码
- 安装工具
1
| sudo apt-get install apache2-utils
|
- 创建用户名和密码,该文件位置可以随意放置,但是建议一定要记得放在哪个位置,还有尽量都放在一起,容易找到管理,如下是我的设置,我放在
/usr/password
目录下,password
是我创建的一个管理专门管理密码的目录
1
| sudo htpasswd -bc password admin admin123
|
1 2 3 4 5 6 7 8
| -c:创建一个加密文件; -n:不更新加密文件,只将加密后的用户名密码显示在屏幕上; -m:默认采用MD5算法对密码进行加密; -d:采用CRYPT算法对密码进行加密; -p:不对密码进行进行加密,即明文密码; -s:采用SHA算法对密码进行加密; -b:在命令行中一并输入用户名和密码而不是根据提示输入密码; -D:删除指定的用户。
|
admin
是用户名,密码:admin123
,默认采用MD5加密方式。
- 在原有密码文件中增加下一个用户
1
| sudo htpasswd -b password.user admin1 admin1234
|
去掉-c选项,即可在第一个用户之后添加第二个用户,依此类推。
- 利用htpasswd命令删除用户名和密码
1
| sudo htpasswd -D password.user admin1
|
- 利用htpasswd命令修改密码
1
| sudo htpasswd -b password.user admin admin123456789
|
修改nginx配置文件
找到 nginx 配置文件,因为我们要对整个站点开启验证,所以在配置文件中的第一个server修改如下:
1 2 3 4 5 6 7 8 9
| server { ....... #新增下面两行 auth_basic "Input name password"; #这里是验证时的提示信息 auth_basic_user_file /usr/password; location /{ ...... } }
|
重启nginx
1 2
| sudo systemctl reload nginx sudo systemctl restart nginx
|