有时我们会有这么一种需求,就是你的网站并不想提供一个公共的访问或者某些页面不希望公开,我们希望的是某些特定的客户端可以访问。那么我们可以在访问时要求进行身份认证,就如给你自己的家门加一把锁,以拒绝那些不速之客
为了达到这个目的,我们去Tengine的官网查看文档
我打开之后看见配置范例如下,以后不管我们做什么工作,必须先去看文档
看完之后,我们知道必须先去配置location里面的内容location / { auth_basic "closed site"; auth_basic_user_file conf/htpasswd; }
所以我们此时进入目录/usr/local/nginx/conf编辑配置文件vi nginx.conf
把location里面的内容进行如下的修改
location / {
auth_basic "hello !!!!";
auth_basic_user_file /usr/local/nginx/passward/pw;
root html;
index index.html index.htm;
}
auth_basic "hello !!!!";
auth_basic_user_file /usr/local/nginx/passward/pw;
root html;
index index.html index.htm;
}
auth_basic "hello !!!!";是一个提示的信息。提示你位于什么地方的服务器请求登录。也可以不写字符串。而是写为off。则不用认证了。可以直接登录
auth_basic_user_file /usr/local/nginx/passward/pw;用于把生成的用户名和密码配置到这边。
/usr/local/nginx/passward/pw;是所生产的密码的绝对路径
注视:如何生成密码和对应的用户名呢
必须先安装httpd 利用yum install httpd
下来则利用刚才安装的服务生成密码和对应的用户名
htpasswd -bcm /usr/local/nginx/passward ppddnn 123456
参数的讲解
-b把密码写在后面。其一个有两种写法。第一中是把密码写在前面。但是写在前面。最后还得输入一次密码。所以干脆把密码写在后面。
-c创建用于存储密码和对应的用户名的文件
-m为加密的方式
ppddnn用户的名字
123456为用户的密码