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
浏览器访问认证