访问限制和配置虚拟机主机的三种方式
1、 设置访问控制
限制策略规则 all 表示任意IP地址
Require all granted 允许所有主机访问
Require all denied 拒绝所有主机访问
Require local 允许本地主机访问
Require not ip 192.168.100.30 拒绝IP地址为192.168.100.30的访问
Require not host DC01.benet.com 拒绝主机为DC01.benet.com访问网站
配置主配置文件
vim /usr/local/httpd/conf/httpd.conf
allow from all 允许所有主机访问
deny from hosts 192.168.100.30 拒绝192.168.100.30主机访问
重启网站
systemctl restart httpd 重启httpd服务
/etc/init.d/httpd restart 重启网站
验证
2、 配置用户身份验证访问
生成基本验证身份数据库
[[email protected] ~]# htpasswd -c /usr/local/httpd/conf/.password admin 验证账户admin
[[email protected] ~]# htpasswd /usr/local/httpd/conf/.password bob 验证账户bob
配置第一个账户-c第二个不用-c 多个用户就不用加-c
配置多个用户不用加-c
查看账户
配置主配置文件
查看数据库位置
ls -ld /usr/local/httpd/conf/.password 查看数据库位置
AuthName “test” 验证域的名字
AuthType Basic 基本身份验证
AuthUserFile “/usr/local/httpd/conf/.password” 验证数据库
Require valid-user 经过身份验证的允许访问apache
重启服务
验证
3、 配置虚拟机主机全局设置
1) 创建虚拟主机网站根目录
[[email protected] ~]# mkdir -p /var/www/benetcom (创建多个目录-p)
[[email protected] ~]# mkdir -p /var/www/accpcom
[[email protected] ~]# echo “www.benet.com” > /var/www/benetcom/index.html
[[email protected] ~]# echo “www.accp.com” > /var/www/accpcom/index.html
2) 修改apache虚拟主机支持虚拟主机
[[email protected] ~]# cp /usr/local/httpd/conf/httpd.conf /usr/local/httpd/conf/httpd.conf.bak
[[email protected] ~]# vim /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf开启支持虚拟主机
3) 修改虚拟主机配置文件加载区域配置文件
[[email protected] ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
(使用ens32当成虚拟主机的话需要将NameVirtualHost选项指定IP地址为本机IP地址不然就会www.benet.com www.accp.com访问同一个主页)
NameVirtualHost *:80下面添加配置可以在apache主配置文件中复制
<Directory “/var/www”> 虚拟主机根目录位置
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
4、 配置基于IP地址的虚拟主机
1) 生成新的虚拟网卡
[[email protected] ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-ens32:0
[[email protected] ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-ens32:1
2) 虚拟机网卡配置IP地址
配置虚拟网卡
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
NAME=ens32:0 :1
DEVICE=ens32:0 :1
ONBOOT=YES
IPADDR=192.168.100.20 30
NETMASK=255.255.255.0
3) 重新启动
4) 修改虚拟主机配置文件
[[email protected] ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf 进入虚拟主机配置文件中
33 <VirtualHost 192.168.100.20:80> 开始和配置IP地址
34 DocumentRoot “/var/www/benetcom/” 网站根目录
35 ServerName www.benet.com 域名
36 ErrorLog “logs/www.benet.com.com-error_log” 错误日志
37 CustomLog “logs/www.benet.com-access_log” common 成功日志
38 结束
40 <VirtualHost 192.168.100.30:80>
41 DocumentRoot “/var/www/accpcom/”
42 ServerName www.accp.com
43 ErrorLog “logs/www.accp.com.com-error_log”
44 CustomLog “logs/www.accp.com-access_log” common
5) 检查
6) 重新启动服务
7) 监听80端口
8) 验证
5、 配置基于IP地址使用域名
1) 切换光盘,挂载光盘
2) 安装dns
3) 配置主配置文件
4) 检查是否正确
5) 配置正向区域
Benet
[[email protected] ~]# vim /var/named/benet.com.zone
$TTL 86400
@ SOA benet.com. root.benet.com. (
2020061141
1H
15M
1W
1D
)
@ NS centos01.benet.com.
www A 192.168.100.20
centos01 A 192.168.100.20
6) 域名解析
7) 验证
6、 配置基于端口号虚拟主机
1) 修改apache主配置文件添加监听端口
在vim /usr/local/httpd/conf/httpd.conf中添加监听端口
2) 修改虚拟主机配置文件
相同IP地址不同端口,相同域名
<VirtualHost 192.168.100.10:8080>
DocumentRoot “/var/www/benetcom/”
ServerName www.benet.com
ErrorLog “logs/www.benet.com.com-error_log”
CustomLog “logs/www.benet.com-access_log” common
<VirtualHost 192.168.100.10:8181>
DocumentRoot “/var/www/accpcom/”
ServerName www.benet.com
ErrorLog “logs/www.accp.com.com-error_log”
CustomLog “logs/www.accp.com-access_log” common
3) 修改benet正向区域,绑定ID地址为192.168.100.10
4) 重新启动apache服务和dns服务
5) 使用服务名监听端口
6) 验证
7、 配置相同IP地址相同端口不同域名访问不同的网站
1) 修改虚拟主机主配置文件
2) 修改accp正向区域IP地址,绑定为192.168.100.10
3) 重启apcche服务
4) 验证