实验:配置访问限制和身份验证登录和三种方式配置虚拟主机访问
设置服务访问控制 限制策略规则 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访问网站拒绝192.168.100.132访问网站 配置主配置文件 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 重启网站 验证 http://192.168.100.10 403拒绝 配置用户身份验证访问 生成基本验证身份数据库 [root@centos01 ~]# htpasswd -c /usr/local/httpd/conf/.password admin 验证账户admin [root@centos01 ~]# htpasswd /usr/local/httpd/conf/.password bob 验证账户bob 配置第一个账户-c第二个不用-c 多个用户就不用加-c 查看账户 配置主配置文件 ls -ld /usr/local/httpd/conf/.password 查看数据库位置 AuthName “test” 验证域的名字 AuthType Basic 基本身份验证 AuthUserFile “/usr/local/httpd/conf/.password” 验证数据库 Require valid-user 经过身份验证的允许访问apache 重启服务 验证 配置虚拟主机 1) 全局配置 创建网站根目录和主页 [root@centos01 ~]# mkdir -p /var/www/benetcom (创建多个目录-p) [root@centos01 ~]# mkdir -p /var/www/accpcom [root@centos01 ~]# echo “www.benet.com” > /var/www/benetcom/index.html [root@centos01 ~]# echo “www.accp.com” > /var/www/accpcom/index.html 备份主配置文件并开启支持虚拟主机 [root@centos01 ~]# cp /usr/local/httpd/conf/httpd.conf /usr/local/httpd/conf/httpd.conf.bak [root@centos01 ~]# vim /usr/local/httpd/conf/httpd.conf Include conf/extra/httpd-vhosts.conf开启支持虚拟主机 配置虚拟主机 [root@centos01 ~]# 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 2) 基于IP地址 生成多个新的虚拟网卡 [root@centos01 ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-ens32:0 [root@centos01 ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-ens32:1 配置虚拟网卡 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 重启网卡 Systemctl restart network 修改虚拟主机配置文件 基于IP地址访问的 [root@centos01 ~]# 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 45 验证 3) 基于域名 安装DNS服务 切换系统光盘并挂载 安装DNS服务 备份DNS服务主配置文件 清空主配置文件并手写 [root@centos01 ~]# echo “” > /etc/named.conf 检查dns主配置文件是否有问题 [root@centos01 ~]# named-checkconf /etc/named.conf 配置正向解析文件 Benet [root@centos01 ~]# 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 检查dns主配置文件是否有问题 [root@centos01 ~]# named-checkzone benet.com /var/named/benet.com.zone 复制benet的正向解析文件到accp中并使用 :%s/benet.com/accp.com/g 进行替换域名 :%s/192.168.100.20/192.168.100.30/g 进行替换IP地址 检查正向解析服务 [root@centos01 ~]# named-checkzone accp.com /var/named/accp.com.zone 验证 客户端指定一下DNS地址 4) 基于端口号 在vim /usr/local/httpd/conf/httpd.conf中添加监听端口 配置改为同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 重启 [root@centos01 ~]# systemctl restart httpd 验证 配置使用域名访问验证 注释掉accp.com区域 将benet.com正向解析区域IP地址的绑定改为192.168.100.10 基于上面的端口配置添加这俩条件即可做到域名访问不同端口号 验证