通过调整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.html3)生成密码文件,创建用户及密码 使用htpasswd命令创建账户文件,需要确保系统中已经安装了httpd-tools。
[root@svr5 ~]# htpasswd -cm /usr/local/nginx/conf/pass.txt tom New password: Re-type new password: Adding password for user tom4)重启Nginx服务
[root@svr5 ~]# /usr/local/nginx/sbin/nginx –s stop [root@svr5 ~]# /usr/local/nginx/sbin/nginx1)登录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 //输入密码后无法访问