用户认证
沿用之前的搭建nginx服务器,通过调整nginx服务端配置,实现以下目标:
- 访问web页面需要进行用户认证
- 用户名为:tom,密码为:123456
方案:通过Nginx实现Web页面的认证,需要修改Nginx配置文件,在配置文件中添加auth语句实现用户认证。最后使用htpasswd命令创建用户及密码即可。如图所示:
步骤一
修改Nginx配置文件
1)修改/usr.local/nginx/conf/nginx.conf
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
… …
server {
listen 80;
server_name localhost;
auth_basic “Input Password:”; //认证提示符信息
auth_basic_user_file “/usr/local/nginx/pass”; //认证的密码文件
location / {
root html;
index index.html index.htm;
}
}
2)生成密码文件,创建用户及密码
使用htpasswd命令创建文件,需要确保系统中已经安装了httpd-tools。
[root@proxy ~]# yum -y install httpd-tools
[root@proxy ~]# htpasswd -c /usr/local/nginx/pass tom //创建密码文件
New password:
Re-type new password:
Adding password for user tom
[root@proxy ~]# htpasswd /usr/local/nginx/pass jerry //追加用户,不使用-c选项
New password:
Re-type new password:
Adding password for user jerry
[root@proxy ~]# cat /usr/local/nginx/pass
3)重新加载配置
[root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload //重新加载配置文件
#请先确保nginx是启动状态,否则运行该命令会报错,报错信息如下:
#[error] open() “/usr/local/nginx/logs/nginx.pid” failed (2: No such file or directory)
步骤二
1)登录192.168.4.10客户端主机进行测试
如果使用firefox火狐浏览器,注意在ssh远程的时候一定要加-X选项。
或者直接使用真实主机的火狐也可以
[root@client ~]# firefox http://192.168.4.5 //输入密码后可以访问