需求:访问Web页面需要进行用户认证
用户名为:tom,密码为:123456
nginx 下,提供了 ngx_http_auth_basic_module 模块实现让用户只有输入正确的用户名密码才允许访问web内容。默认情况下,nginx 已经安装了该模块。(如果没有安装,点击链接:Nginx安装部署)
- 配置nginx配置文件
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
server {
listen 80;
server_name www.etiantian.org etiantian.org;//可以写ip,也可以写成一段网址
auth_basic "Input Password:"; //认证提示符
auth_basic_user_file "/usr/local/nginx/pass"; //存放密码文件的路径
location / {
root html;
index index.html index.htm;
}
}
- 使用htpasswd生成密码文件
[root@web01 extra]# which htpasswd #查看是否安装htpasswd
/usr/bin/which: no htpasswd
安装httpd,因为htpasswd是Apache的Web服务器内置工具,用于创建和更新储存用户名、域和用户基本认证的密码文件。
如果无法联网,去系统iso包里面找htpasswd安装包
[root@web01 extra]# yum -y install httpd #