Nginx访问认证

访问认证

有时候,我们⼀些站点内容想要进⾏授权查看,只能输⼊账号密码之后才能访问,例如⼀些重要的内⽹平台,CRM CMDB ,企业内部 WIKI 等等。 htpasswd是Apache密码⽣成⼯具,Nginx⽀持auth_basic认证,因此我⻔可以将⽣成的密码⽤于Nginx中,输⼊⼀⾏命令即可安装
yum -y install httpd-tools

生成认证文件

在nginx目录下创建目录passwrod,cd到passwrod目录下执行命令

#在当前⽬录⽣成.access⽂件,⽤户名username,密码:password,默认采⽤MD5加密⽅式。
htpasswd -bc .access username password

参数

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

生成密码文件

htpasswd -bc ./htpasswd xiaomi 666

模块指令  

auth_basic

使用“ HTTP基本认证”协议启用用户名和密码的验证

语法auth_basic string|off;
默认值auth_basic off;
位置http,server,location,limit_except

开启后,服务端会返回401,指定的字符串会返回到客户端,给用户以提示信息,但是不同的浏览器对内容的展示不一致。

auth_basic_user_file

指定用户名和密码所在文件

语法auth_basic_user_file file;
默认值
位置http,server,location,limit_except

 指定文件路径,该文件中的用户名和密码的设置,密码需要进行加密。可以采用工具自动生成

修改配置文件


#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    # gzip on;


	server {

		listen 80;
		server_name localhost;
		location / {
			root html;
			index index.html;
			auth_basic "learn nginx auth_module";
			#nginx会去这个⽂件中验证账号密码
			auth_basic_user_file /root/nginx-1.18.0/passwrod/htpasswd;
		 }
	 }
}

测试

输入用户和密码 

访问成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值