Nginx增加密码验证
在设置网络服务器时,往往希望限制访问网站的某些部分路径,网络应用程序通常会提供自己的身份验证和授权方法,其实网络服务自身也可以提供简单的限制
创建Password文件
首先,需要创建保存用户名和密码组合的文件,可以使用服务器上安装的openssl
工具来完成,
- 使用
OpenSSL
工具创建Password文件
使用下面命令添加用户
sammy
到/etc/nginx/.htpasswd
文件1
2
3$ sudo sh -c "echo -n 'sammy:' >> /etc/nginx/.htpasswd"
$ cat /etc/nginx/.htpasswd
sammy:%使用下面命令为用户
sammy
增加加密过的密码1
2
3$ sudo sh -c "openssl passwd thisispasswd >> /etc/nginx/.htpasswd"
$ cat /etc/nginx/.htpasswd
sammy:$1$D6mrQnl4$HL5pVWmlatOoFw.bez3.s0
你可以重复此过程添加更多的用户名和密码
- 输入下面命令查看
/etc/nginx/.htpasswd
文件,理解用户名和加密的密码如何存储的1
2$ cat /etc/nginx/.htpasswd
sammy:$1$D6mrQnl4$HL5pVWmlatOoFw.bez3.s0
配置Nginx的密码验证
现在,我们有了一个包含用户名和密码的文件。我们需要配置Nginx在提供受保护路径内容之前检查该文件.首先打开要添加限制的服务器块配置文件,在我们的示例中,将使用默认服务器块文件:
1 |
|
文件内容应该与下面内容类似
1 |
|
使用auth_basic
指令打开身份验证,使用auth_basic_user_file
指令将Nginx指向我们创建的用户密码文件,下面是增加用户名密码校验的配置
1 |
|
完成后保存并关闭文件,重启Nginx
1 |
|
确认用户名密码认证
Nginx增加密码验证
https://blog.chyidl.com/2024/01/30/password-authentication-with-nginx/