web服务访问控制以及虚拟主机
客户机地址限制
1. [root@localhost ~]# vim /usr/local/httpd/conf/httpd.conf 进入apache的主配置文件
<Directory "/usr/local/httpd/htdocs">
# Require all granted
Require ip 192.168.200.2 仅允许ip地址为192.168.200.2的客户机访问
</Directory>
[root@localhost ~]# systemctl restart httpd 重启apache服务
2.
[root@localhost ~]# vim /usr/local/httpd/conf/httpd.conf 进入apache的主配置文件
<RequireALL>
Require all granted
Require not ip 192.168.200.2 仅拒绝ip地址为192.168.200.2的客户机访问
</RequireAll>
[root@localhost ~]# systemctl restart httpd 重启服务
用户授权限制
访问过程:
认证 识别用户身份
授权 允许用户访问特定目录区域
创建用户认证数据库文件
[root@localhost ~]# htpasswd -c /usr/local/httpd/conf/.user Rich
New password: #根据提示填写密码
Re-type new password: #根据提示填写密码
Adding password for user Rich
[root@localhost ~]# cat /usr/local/httpd/conf/.user
Rich:$apr1$yC6Lm8BN$frHKboZ9VnLvWUge4OLvh/
添加用户授权配置
[root@localhost ~]# vim /usr/local/httpd/conf/httpd.conf
# Require all granted
二,构建虚拟主机
虚拟主机有三种 基于域名 基于ip地址 基于端口
构建虚拟主机
[root@localhost ~]# vim /etc/named.conf 进入到配置文件在最后添加即可
zone "teacher.com" IN {
type master;
file "teacher.com.zheng";
};
[root@localhost ~]# cd /var/named/ 进入到named目录
[root@localhost named]# cp -p Rich.com.zheng teacher.com.zheng 修改配置文件前复制
#-p是保持源文件的属性
[root@localhost named]# vim teacher.com.zheng
$TTL 86400
@ SOA teacher.com. admin.teacher.com. (
2020062901
3H
15M
1W
1D
)
IN NS ns.teacher.com.
ns IN A 192.168.200.112
www IN A 192.168.200.112
[root@localhost named]# systemctl restart named 重启服务
进行测试
对不同的域名准备不同的网页文件
[root@localhost named]# cd /usr/local/httpd/htdocs/
[root@localhost htdocs]# ls
index.html
[root@localhost htdocs]# mkdir Rich
[root@localhost htdocs]# mkdir teacher
[root@localhost htdocs]# vim Rich/index.html
www.Rich.com
[root@localhost htdocs]# vim teacher/index.html
编辑虚拟主机配置文件
[root@localhost ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
<VirtualHost 192.168.200.112:80>
DocumentRoot "/usr/local/httpd/htdocs/Rich"
ServerName www.Rich.com
ErrorLog "logs/Rich.com-error_log"
CustomLog "logs/Rich.com-access_log" common
</VirtualHost>
<VirtualHost 192.168.200.112:80>
DocumentRoot "/usr/local/httpd/htdocs/teacher"
ServerName www.teacher.com
ErrorLog "logs/teacher.com-error_log"
CustomLog "logs/teacher.com-access_log" common
</VirtualHost>
[root@localhost ~]# vim +491 /usr/local/httpd/conf/httpd.conf 进入到虚拟主机的配置文件
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
[root@localhost ~]# systemctl restart httpd 重启apache服务
[root@localhost ~]# netstat -lnpt | grep 80 查看80端口是否开启
测试结果显示成功