如果web上的一些内容不想被其他人知道,但是又需要让部分人看到,我们可以利用nginx_http_auth_basic_module模块来实现此功能
默认情况下nginx已经安装了ngx_http_auth_basic_module模块
1.生成密码文件
一般可以使用两种工具来生成密码文件htpasswd和openssl,此处我们使用openssl来生成密码文件
使用
sudo sh -c "echo -n 'song:' >> /etc/nginx/.htpasswd"
来创建一个名为song的用户
使用
sudo sh -c "openssl passwd -apr1 >> /etc/nginx/.htpasswd"
来创建密码
2.配置Nginx密码验证
打开希望添加限制的服务器块配置文件。在此位置块中,使用auth_basic指令打开身份验证并选择在展示提示凭据时向用户显示的提示语。使用auth_basic_user_file指令将Nginx指向我们创建的密码文件,如
location ^~/private / { auth_basic " private area"; auth_basic_user_file /etc/nginx/.htpasswd; }
更多关于nginx配置的知识,可以参考官方的文档,再次不再赘述
3.重启nginx,验证访问效果
使用
nginx –t
检查配置文件有无错误,如果有错误,则需要及时的更改
检查无误后,使用
nginx –s reload
来重启nginx
访问查看密码验证是否生效
如果提示类似下面的认证选项,则配置成功。

如有错误,请大家批评指正,谢谢,祝好!