Nginx虚拟主机及访问控制

在上一篇Nginx服务构建及访问状态统计的基础上,尝试完成Nginx虚拟主机及访问控制实验。

实验环境:

RHEL6-5(IP地址192.168.100.110)
Win7-1(IP地址192.168.100.202)

配置虚拟主机实验过程:

1.修改主配置文件

# vim /usr/local/nginx/conf/nginx.conf
在配置文件的末尾单独插入就不会有影响,注意格式(主要就是注意括号问题!)
server {
        server_name  www.benet.com;
        location / {
            root   /var/www/benet;
            index  index.html index.php;
        }
    }
    server {
        server_name  www.accp.com;
        location / {
            root   /var/www/accp;
            index  index.html index.php;
        }
    }
}                         //这个括号需要把原文件末尾的括号给去掉,用nginx -t 去检测配置文件是否配置正确//

2.搭建DNS域名解析服务,解析域名分别为www.benet.com;www.accp.com,对应的IP地址为192.168.100.110(Nginx服务端地址)

3.创建配置文件中对应的根目录,并分别添加首页内容

# mkdir /var/www/benet /var/www/accp
# vim /var/www/benet/index.html         //添加并编辑benet首页文件
    this is benet               //写入首页内容
# vim /var/www/accp/index.html          //添加并编辑accp首页文件
    this is accp                //写入首页内容

4.重启nginx并测试(注意测试机需指定DNS解析地址)

# service nginx restart     //重启nginx服务


身份验证访问:

1. 创建访问用户及密码

# htpasswd -c /usr/local/nginx/passwd.db zhangsan

2.修改密码文件的权限为400,将所有者改为nginx,设置nginx的用户能够读取

# chown nginx /usr/local/nginx/passwd.db
# chmod 400 /usr/local/nginx/passwd.db

3.修改主配置文件nginx.conf,添加相应认证配置项。

# vim /usr/local/nginx/conf/nginx.conf
location / {
            auth_basic "secret";
            auth_basic_user_file /usr/local/nginx/passwd.db;
            root   html;
            index  index.html index.htm;
        }

4.检测语法、重启服务、测试

# nginx –t      //测试语法
# service nginx reload  //重启服务


基于客户端控制:

1. 修改主配置文件nginx.conf,添加相应配置项。

# vim /usr/local/nginx/conf/nginx.conf
location / {
            deny 192.168.100.110;
              allow all;
            root   html;
            index  index.html index.htm;
        }

2. 重启服务,并测试

# service nginx reload      //重启服务


测试成功!

转载于:https://blog.51cto.com/13625810/2129148

你可能感兴趣的:(Nginx虚拟主机及访问控制)