实验1、用nginx怎么实现用户访问时的认证html
1、目标nginx
经过调整Nginx服务端配置,实现如下目标:vim
访问Web页面须要进行用户认证浏览器
用户名为:tom,密码为:123456安全
2、方案服务器
经过Nginx实现Web页面的认证,须要修改Nginx配置文件,在配置文件中添加auth语句实现用户认证。ide
最后使用htpasswd命令建立用户及密码便可,服务端:192.168.4.102,客户端:192.168.4.101工具
3、实施步骤(nginx服务安装见个人“搭建nginx服务”)测试
一、修改Nginx配置文件: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;
}
}
二、生成密码文件,建立用户及密码:使用htpasswd命令建立帐户文件,须要确保系统中已经安装了httpd-tools。
yum -y install httpd-tools.x86_64 //安装工具
htpasswd -c /usr/local/nginx/pass tom //建立用户名和密码,后期若是增长新的用户,不须要加-c的参数
三、测试
重启nginx服务,在客户端上192.168.4.101去访问服务器
出来如上的框,输入用户名和密码,验证是否能登录进去
实验2、nginx基于域名的虚拟主机
1、目的
沿用上面的实验1
配置基于域名的虚拟主机,实现如下目标:
实现两个基于域名的虚拟主机,域名分别为www.aa.com和www.bb.com
对域名为www.aa.com的站点进行用户认证,用户名称为tom,密码为123456
2、方案
修改Nginx配置文件,添加server容器实现虚拟主机功能;对于须要进行用户认证的虚拟主机添加auth认证语句
3、实施步骤
一、编辑配置文件:vim /usr/local/nginx/conf/nginx.conf
server {
listen 80;
server_name www.aa.com; //指定域名
auth_basic "Input Password:"; //安全的认证
auth_basic_user_file "/usr/local/nginx/pass"; //密码文件路径
location / {
root aa; //网站的根目录
index index.html index.htm;
}
server {
listen 80;
server_name www.bb.com; //指定域名
location / {
root bb; //网站的根目录
index index.html index.htm;
}
}
二、建立访问aa网站的用户名和密码,上面已经建立了,不须要再建立
三、建立网站根目录及对应首页文件
mkdir /usr/local/nginx/aa mkdir /usr/local/nginx/bb
首页文件本身自行建立
四、重启nginx服务
五、客户端测试
因为没有作DNS解析,故在主机192.168.4.101的/etc/hosts文件,进行域名解析
添加下面的一行记录
192.168.4.102 www.aa.com www.bb.com
而后在浏览器里面输入两个域名来进行测试,获得不一样的页面