nginx访问认证

【nginx访问认证】
有时候,我们一些站点内容想要进行授权查看,只能输入账号密码之后才能访问,例如一些重要的内网平台
,CRM,CMDB,企业内部WIKI等等。

htpasswd是Apache密码生成工具,Nginx支持auth_basic认证,因此我门可以将生成的密码用于Nginx中,输入一行命令即可安装:yum -y install httpd-tools ,参数如下:

-c 创建passwdfile.如果passwdfile 已经存在,那么它会重新写入并删去原有内容.
-n 不更新passwordfile,直接显示密码
-m 使用MD5加密(默认)
-d 使用CRYPT加密(默认)
-p 使用普通文本格式的密码
-s 使用SHA加密
-b 命令行中一并输入用户名和密码而不是根据提示输入密码,可以看见明文,不需要交互
-D 删除指定的用户

#接认证文件,htpasswd -bc .access username password  #在当前目录生成.access文件,用户名username,密码:password,默认采用MD5加密方式。



nginx的认证模块指令,语法:
location / {

    auth_basic "string"; 可以填写off或是string
    auth_basic_user_file conf/htpasswd;  
}



[root@backup extra]# vim /opt/tngx232/conf/extra/www.conf
server {

    listen 84;
    server_name _;
    charset utf-8;
    location / {
    root html/www;
    index index.html;
    auth_basic    "nginx auth_module";
    #nginx会去这个文件中验证账号密码
    auth_basic_user_file /opt/tngx232/conf/extra/htpasswd;
    }
}


[root@chaogelinux www]# cat index.html
<meta charset=utf8>
恭喜你学会了nginx访问认证

重启nginx
nginx -s reload



生成密码文件
[root@chaogelinux extra]# htpasswd -bc ./htpasswd  chaoge  666
Adding password for user chaoge

 

 

 

浏览器访问认证

 

 

posted @ 2020-08-04 23:09  王子建  阅读(391)  评论(0)    收藏  举报