有的时候我们可能会有这么一种需求,就是你的网站并不想提供一个公共的访问或者某些页面不希望公开,我们希望的是某些特定的客户端可以访问。那么我们可以在访问时要求进行身份认证,就如给你自己的家门加一把锁,以拒绝那些不速之客。
htpasswd安装
htpasswd工具是httpd组件的一部分,在Linux中需要先安装 httpd-tools包 才可实现加密文件的生成:
CentOS为例yum安装:yum install httpd-tools
Ubuntu为例apt安装:apt install httpd-tools
然后就通过htpasswd生成密码文件:
htpasswd -c /usr/local/nginx/conf/passwd.db andyx
输入密码就行了,至此andyx这个用户身份就创建成功了。
这里我们来看一下htpasswd的用法
htpasswd参数
-c 创建passwdfile.如果passwdfile 已经存在,那么它会重新写入并删去原有内容. -n 不更新passwordfile,直接显示密码 -m 使用MD5加密(默认) -d 使用CRYPT加密(默认) -p 使用普通文本格式的密码 -s 使用SHA加密 -b 命令行中一并输入用户名和密码而不是根据提示输入密码,可以看见明文,不需要交互 -D 删除指定的用户
我要是想在原有的密码文件中添加一个用户的语句是
htpasswd -b /usr/local/nginx/conf/passwd.db andyx2
下面是删除andyx2这个用户
htpasswd -D /usr/local/nginx/conf/passwd.db andyx2
下面是更改andyx2用户的密码
htpasswd /usr/local/nginx/conf/passwd.db andyx2
Nginx配置文件
接下来就是nginx配置文件的写入格式了(参照下图)。
本文以以下配置为样例:
以上操作完成之后,我们就重新启动nginx
nginx -s reload
或者
systemctl restart nginx
然后访问
192.168.22.98:8080/tailon/
就会弹出认证窗口
输入账号和密码即可继续访问这个页面。
(END)