用户认证及访问控制(nginx)

请先安装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		//输入密码后无法访问

猜你喜欢

转载自blog.csdn.net/LLcmpgheng/article/details/90573627