nginx 配置密码访问特定的模块

如果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

访问查看密码验证是否生效

如果提示类似下面的认证选项,则配置成功。

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

此条目发表在linux分类目录。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。