Nginx虚拟主机及访问控制
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 //重启服务
测试成功!
以上是关于Nginx虚拟主机及访问控制的主要内容,如果未能解决你的问题,请参考以下文章
Nginx相关安装功能开放(主配置文件修改)状态统计访问控制虚拟主机
Nginx防盗链访问控制 解析php相关配置及Nginx代理