Web网站服务(二)

httpd服务的访问控制
httpd服务的访问控制
作用:
*控制对网站资源的访问
*为特定的网站目录添加访问授权

常用访问控制方式:
*客户机地址限制
*用户授权限制

用户授权限制
Apache提供了认证(Authentication)与授权(Authorization)机制,当用户访问使用此机制控制的目录时,会提示用户输入用户名和密码,只有输入正确的用户名和密码的主机才可以访问该资源。

Apache的认证类型分为两种:基本(Basic)认证和摘要认证(Digest)认证两种。摘要认证比基本认证更加安全,然是并非所有浏览器都支持摘要认证,所以本节只针对基本认证进行介绍。基本认证的方式是:当Web浏览器请求经过认证模式保护的URL时,将会出现一个对话框,要求用户输入用户名和口令。用户输入后,传送给服务器,Web服务器验证它的正确性。如果正确,则返回页面;否则出现401错误。

1.创建用户认证数据库
[root@www ~]# cd /usr/local/httpd/
新建密码数据文件.awspwd,其中包含一个名为webadmin用户信息
[root@www httpd]# bin/htpasswd -c /usr/local/httpd/conf/.awspwd webadmin
New password:
Re-type new password:
Adding password for user webadmin
确认用户数据库文件
[root@www httpd]# cat /usr/local/httpd/conf/.awspwd
webadmin:2tmD3LVFynBAE
在已有数据文件中添加新用户szt
[root@www ~]# htpasswd /usr/local/httpd/conf/.awspwd szt
2.添加用户授权配置
[root@www ~]# vi /usr/local/httpd/conf/httpd.conf
226 <Directory “/usr/local/httpd/htdocs”>
251 #RequireAll
252 #Require all granted
253 # Require not ip 192.168.100.0/24 192.168.0.0/24
254 #/RequireAll
255
256 AuthName “xu yao mi ma”
257 AuthType Basic
258 AuthUserFile /usr/local/httpd/conf/.awspwd
259 Require valid-user
260
261 /Directory

注释:
受保护的领域名称,该内容在浏览器弹出的认证对话框中显示。
256 AuthName “xu yao mi ma”
设置认证的类型(basic基本认证)
257 AuthType Basic
用户认证账号文件
258 AuthUserFile /usr/local/httpd/conf/.awspwd
要求通过认证才能访问
varlid-user 合法用户,如果单个用户可直接指定
259 Require valid-user
[root@www ~]# systemctl restart httpd
验证用户访问授权
1.打开win7客户机使用浏览器访问尝试http://192.168.100.101
查看是否需要用户名和密码来进行访问
2. linux-2 客户机 192.168.100.102
[root@ns2 ~]# curl http://192.168.100.101
访问失败
扩展:混合模式设置
注意:主机访问控制 > 用户访问授权
设置了两种混合模式时。主机访控中允许的主机可以直接访问网站,不需要用户授权;主机访控禁止的主机在需要用户授权才能访问网站
练习:
主机访问控制:允许192.168.100.102访问
用户授权:要求合法用户访问
[root@www ~]# vi /usr/local/httpd/conf/httpd.conf
226 <Directory “/usr/local/httpd/htdocs”>
RequireAll
Require all granted
Require ip 192.168.10.2
/RequireAll
AuthName “xu yao mi ma”
AuthType Basic
AuthUserFile /usr/local/httpd/conf/.awspwd
Require valid-user
[root@www ~]# systemctl restart httpd
验证:
1.win7客户机 192.168.100.101
需要用户授权访问
2. linux-2 192.168.100.102
直接可以访问

构建虚拟web主机
1.虚拟Web主机
在同一台服务器中运行多个Web站点,其中每一个站点并不独立占用一台真正的计算机
2.httpd支持的虚拟主机类型
基于域名的虚拟主机
基于IP地址的虚拟主机
基于端口的虚拟主机

构建虚拟主机——基于域名
1.应用示例:
*构建2个虚拟Web站点:
www.benet.com,IP地址为 192.168.100.101
www.accp.com,IP地址为 192.168.100.101
在浏览器中访问这两个域名时,分别显示不同的内容
1.为虚拟主机提供域名解析(有dns环境)
[root@dnssvr ~]# vi /var/named/chroot/etc/named.conf
zone “benet.com” IN {
type master;
file “benet.com.zone”;
};
zone “accp.com” IN {
type master;
file “accp.com.zone”;
};
课本有错误(benet.com后面不能有".")
cd /var/named
cp -a named.localhost benet.com.zone
cp -a named.localhost accp.com.zone
ls -ld benet.com.zone accp.com.zone

[root@dnssvr ~]# vi /var/named/chroot/var/named/benet.com.zone
@ IN SOA benet.com. admin.benet.com. (
@ IN NS dnssvr.benet.com.
dnssvr IN A 173.17.17.2
www IN A 192.168.100.101
[root@dnssvr ~]# vi /var/named/chroot/var/named/accp.com.zone
@ IN SOA accp.com. admin.accp.com. (
@ IN NS dnssvr.benet.com.
www IN A 192.168.100.101

为虚拟主机准备网页文档
[root@www ~]# mkdir -p /var/www/html/benetcom
[root@www ~]# mkdir -p /var/www/html/accpcom
[root@www ~]# echo “www.benet.com” >/var/www/html/benetcom/index.html
[root@www ~]# echo “www.accp.com” > /var/www/html/accpcom/index.html

添加虚拟主机配置
配置独立的虚拟主机配置文件,然后在主文件里面加载即可,方便配置内容的维护
[root@www ~]# vim /usr/local/httpd/conf/extra/vhosts.conf
<VirtualHost *:80>
ServerName www.benet.com
DocumentRoot /var/www/html/benetcom
ErrorLog logs/www.benet.com.error_log
CustomLog logs/www.benet.com.access_log common
<Directory “/var/www/html”>
Require all granted
/Directory

/VirtualHost

<VirtualHost *:80>
ServerName www.accp.com
DocumentRoot /var/www/html/accpcom
ErrorLog logs/www.accp.com.error_log
CustomLog logs/www.accp.com.access_log common
<Directory “/var/www/html”>
Require all granted
/Directory
/VirtualHost

配置选项:
1.虚拟主机区域VirtualHost
2.目录权限Directory
继承其父目录 的授权许可即可
主文件里面加载
[root@www ~]# vim /usr/local/httpd/conf/httpd.conf
485 # Virtual hosts
486 #Include conf/extra/httpd-vhosts.conf
添加此选项–加载独立的配置文件
487 Include conf/extra/vhosts.conf
[root@www ~]# /usr/local/httpd/bin/apachectl restart
4.在客户机分别访问虚拟Web主机
实验环境中没有配置dns,可以的hosts文件中配置主机ip映射
4.1 win7 客户机
c:\windows\system32\drivers\etc\hosts
4.2 linux主机
/etc/hosts

构建虚拟主机——基于IP
应用示例:
1,构建2个虚拟Web站点:
www.benet.com,IP地址为 192.168.100.101
www.accp.com,IP地址为 192.168.100.102
[root@www ~]# ifconfig ens33:0 192.168.100.102
[root@www ~]# vim /usr/local/httpd/conf/extra/vhosts.conf
<VirtualHost 192.168.100.101:80>
ServerName www.benet.com
DocumentRoot /var/www/html/benetcom
ErrorLog logs/www.benet.com.error_log
CustomLog logs/www.benet.com.access_log common
<Directory “/var/www/html”>
Require all granted
/Directory
/VirtualHost

<VirtualHost 192.168.100.102:80>
ServerName www.accp.com
DocumentRoot /var/www/html/accpcom
ErrorLog logs/www.accp.com.error_log
CustomLog logs/www.accp.com.access_log common
<Directory “/var/www/html”>
Require all granted
/Directory
/VirtualHost

[root@www ~]# systemctl restart httpd
2.在浏览器中访问这两个IP时,分别显示不同的内容
http://192.168.100.101
http://192.168.100.102

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值