通过Require配置项,可以根据主机的主机名或P地址来决定是否允许客户端访问。在 httpd服务器的主配置文件的
Require all granted:表示允许所有主机访问。
Require all denied:表示拒绝所有主机访问。
Require local:表示仅允许本地主机访问。
Require [not] host<主机名或域名列表>:表示允许或拒绝指定主机或域访问。Require [not] ip
:表示允许或拒绝指定Р地址或网段访问.
需要使用“仅允许”的限制策略时,应使用Require配置语句明确设置允许策略.只允许一部分主机访问。例如.若只希望P地址为173,17.17.173的主机能够访问/ust /local /httpd/htdocs网页目录下的网页内容.则可以针对/usr / local /httpd/htdocs目录区域做如下设置。
……....... //省略部分内容
Require ip 192.168.223.100 //仅允许IP地址为192.168.223.100访问html网页
反之,需要使用“仅拒绝”的限制策略时.灵活使用Require 与Require not配置语句设置拒绝策略,只禁止一部分主机访问。在使用not禁止访问时要将其置于
……....... //省略部分内容
Require all granted //允许所有访问
Require not ip 192.168.223.100 //仅拒绝来自192.168.223.100的访问
IP地址为192.168.223.100的虚拟机无法访问
(1)创建用户认证数据文件
httpd的基本认证通过校验用户名.密码组合来判断是否允许用户访问。授权访问的用户账号需要事先建立,并保存在固定的数据文件中。使用专门的htpasswd,工具程序.可以创建授权用户数据文件.并维护其中的用户账号。
使用htpasswd 工具时.必须指定用户数据文件的位置,添加“-c”选项表示新建立此文件.例如,执行以下操作可以新建数据文件/usr / local /httpd/conf / ,awspwd,其中包含一个名webadmin的用户信息。
[root@localhost conf]# cd /usr/local/httpd/ //切换到httpd的路径
[root@localhost httpd]# bin/htpasswd -c /usr/local/httpd/conf/.asd bdqn
New password: //根据提示输入密码
Re-type new password:
Adding password for user bdqn
[root@localhost httpd]# cat /usr/local/httpd/conf/.asd //确认用户数据文件
bdqn:$apr1$3ZxoV1Js$iWOAL84.nJyAtNSmFv4/O0
[root@localhost httpd]#
(2) 有了授权用户账号以后,还需要修改httpd ,conf配置文件.在特定的目录区域中添加授权配置以启用基本认证并设置允许哪些用户访问。例如,若只允许.asd数据文件中的任一用户访问网页,可以执行以下操作。
……....... //省略部分内容
Authname "DocumentRoot"
AuthType Basic
AuthUserFile /usr/local/httpd/conf/.asd
Require valid-user jingshu
AutName:定义受保护的领域名称.该内容将在浏览器弹出的认证对话框中显示。
AuthType:设置认证的类型,Basic表示基本认证。
AuthUserFile:设置用于保存用户账号.密码的认证文件路径。
Require valid-user:要求只有认证文件中的合法用户才能访问。其中,valid—user表示所有合法用户,若只授权给单个用户,可改为指定的用户名(如webadmin)。
某公司的网站服务器使用的公网P地址为210.188,201.72,并使用该Р地址注册了两个域名www ,bdon .com和 www . jbit , com。服务器中已经安装好了CentOS 7操作系统.并通过源码编译的方式安装了Web服务器软件httpd-2.4.25,现需要对httpd 服务进行配置,以支持同时运行这两个Web站点。
1、为虚拟主机提供域名解析
2、站点www , bdqn . corm的网页文档存放在服务器的/var/www/html /bdqndoc目录下。
[root@localhost ~]# mkdir -p /var/www/html/bdqndoc
[root@localhost ~]# echo "www.bdqn.com
" > /var/www/html/bdqndoc/index.html
3、站点www . jbit . com 的网页文档存放在服务器的/var/ www /htrml / jbitdoc目录下。
[root@localhost ~]# mkdir -p /var/www/html/jbitdoc
[root@localhost ~]# echo "www.jbit.com
" > /var/www/html/jbitdoc/index.html
4、构建基于域名的虚拟主机服务器.用于支撑以上两个Web站点。