通过Nginx实现Web页面的认证,需要修改Nginx配置文件,在配置文件中添加auth语句实现用户认证。最后使用htpasswd命令创建用户及密码即可。
2.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:修改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 //输入密码后可以访问