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

    xiaoxiao2024-11-04  85

    请先安装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 //输入密码后无法访问
    最新回复(0)