请先安装nginx服务器参考
通过调整Nginx服务端配置,实现以下目标:
1)访问Web页面需要进行用户认证
2)用户名为:tom,密码为:123456
3)网站根目录下首页文档所有主机均可以访问
4)为网站创建二级目录/test,并生成index.html文档
5)test目录下的页面仅192.168.4.205可以访问
思路解析
通过Nginx实现Web页面的认证与访问控制,需要修改Nginx配置文件,在location容器中添加allow及deny语句实现访问控制,添加auth语句实现用户认证。最后使用htpasswd命令创建用户及密码即可。
步骤
步骤一:修改Nginx配置文件
1)修改/usr/local/nginx/conf/nginx.conf
[root@pc205 ~]# vim /usr/local/nginx/conf/nginx.conf
.. ..
server {
listen 80;
server_name localhost;
auth_basic "Input Password:"; //认证提示符
auth_basic_user_file pass.txt; //认证密码文件
location / {
root html;
index index.html index.htm;
}
location /test {
allow 192.168.4.205; //访问控制,仅192.168.4.205可以访问
deny all; //拒绝所有
index index.html index.htm;
}
2)创建二级页面目录,并生成index.html文件
[root@svr5 ~]# mkdir /usr/local/nginx/html/test
[root@svr5 ~]# echo “test” > /usr/local/nginx/html/test/index.html
3)生成密码文件,创建用户及密码
使用htpasswd命令创建账户文件,需要确保系统中已经安装了httpd-tools。
[root@svr5 ~]# htpasswd -cm /usr/local/nginx/conf/pass.txt tom
New password:
Re-type new password:
Adding password for user tom
4)重启Nginx服务
[root@svr5 ~]# /usr/local/nginx/sbin/nginx –s stop
[root@svr5 ~]# /usr/local/nginx/sbin/nginx
步骤二:客户端测试
1)登录192.168.4.205主机进行测试
[root@client ~]# firefox http://192.168.4.5 //输入密码后可以访问
[root@client ~]# firefox http://192.168.4.5/test //输入密码后可以访问
2)登录非192.168.4.205的其他任意主机测试
[root@client ~]# firefox http://192.168.4.5 //输入密码后可以访问
[root@client ~]# firefox http://192.168.4.5/test //输入密码后无法访问