Web网站服务(二)

1、客户机地址限制。

Require all granted:表示允许所有主机访问。

Require all denied:表示拒绝所有主机访问。

Require local:表示仅允许本地主机访问。

Require [not] host <主机名或域名列表>:表示允许或拒绝指定主机或域访问。

Require [not] ip:表示允许或拒绝指定IP地址或网段访问。

        通常情况下,网站服务器是对所有客户机开放的,网页文档目录并未做任何限制,因此使用的是"Require all granted"策略,表示允许任何客户机访问。配置文件路径:[ /usr/local/httpd/conf/httpd.conf ]

Web网站服务(二)_第1张图片

        定义限制策略时,多个不带not的Require配置语句之间是"或"的关系,即任意一条Require配置语句满足条件均可以访问。

        若只希望IP地址为192.168.136.1的主机能够访问/usr/local/httpd/htdocs网页目录下的内容,则需要配置以下内容。配置文件路径:[ /usr/local/httpd/conf/httpd.conf ]

Web网站服务(二)_第2张图片

        若希望禁止网段访问,需要修改以下配置

Web网站服务(二)_第3张图片

        当未被授权的客户机访问时,将会被拒绝访问,注意:修改配置文件后均需要重启服务

Web网站服务(二)_第4张图片

2、 用户授权限制。

        httpd服务支持使用摘要认证(Digest)和基本认证(Basic)两种方式,使用摘要认证需要在编译httpd之前添加"--enable-auth-digest"选项。

2.1、创建用户认证数据文件。

        httpd的基本认证通过校验用户名、密码组合来判断是否允许用户访问。授权访问的用户账户需要事先建立,并保存在固定的数据文件中。使用专门的htpasswd工具程序,可以创建授权用户数据文件

[root@yang ~]# cd /usr/local/httpd/

##使用/bin/目录下的执行文件htpasswd创建一个名为webadmin的用户,并且存放在.awspwd的隐藏文件中
[root@yang httpd]# bin/htpasswd -c /usr/local/httpd/conf/.awspwd webadmin
New password: 
Re-type new password: 
Adding password for user webadmin

##查看.awspwd隐藏文件中的内容
[root@yang httpd]# cat /usr/local/httpd/conf/.awspwd 
webadmin:$apr1$71qWzdG2$FKS/43H0XO4GQxyCkfCok1

        因为上面创建webadmin的时候也创建好了.awspwd隐藏文件,所有下次创建用户时,就不需要"-c"选项了

[root@yang httpd]# bin/htpasswd /usr/local/httpd/conf/.awspwd bdqn
New password: 
Re-type new password: 
Adding password for user bdqn

[root@yang httpd]# cat /usr/local/httpd/conf/.awspwd 
webadmin:$apr1$71qWzdG2$FKS/43H0XO4GQxyCkfCok1
bdqn:$apr1$9uU9mL67$ieD7/J6O.zPmU8GeQtVs11

2.2、添加用户授权配置。

        有了授权用户账户后,还需要修改httpd.conf配置文件,在特定的目录区域中添加授权配置。

[root@yang ~]# vim /usr/local/httpd/conf/httpd.conf 


    Require all granted
    AuthName " DocumentRoot "
    AuthType Basic
    AuthUserFile /usr/local/httpd/conf/.awspwd
    Require valid-user


[root@yang ~]# systemctl restart httpd  //重启服务
 

AuthName:定义受保护的领域名称,该内容将在浏览器弹出的认证对话框中显示。

AuthType:设置认证的类型,Basic表示基本认证。
AuthUserFile:设置用于保存用户账号,密码的认证文件路径。
Require valid-user:要求只有认证文件中的合法用户才能访问。其中,valid—user表示所有

 注意:主机访问控制中所允许的主机可以直接访问网站,不需要用户授权。主机访问控制中所禁止的主机则不可以直接访问网站,需要进行用户授权。

Web网站服务(二)_第5张图片

3、构建虚拟Web主机。 

        虚拟Web主机指的是在同一台服务器中允许多个Web站点,其中的每个站点实际上并不独立占用整个服务器。               

        使用httpd可以非常方便地构建虚拟主机服务器,只需要运行一个httpd服务就能够同时支撑大量的Web站点。httpd支持的虚拟主机类型包括三种:基于域名、基于IP地址、基于端口

3.1、为虚拟主机提供域名解析。

Web网站服务(二)_第6张图片

3.2、 为虚拟主机准备网页文档。

        为每个虚拟Web主机准备网站目录即网页文档以方便测试。在/var/www/html目录下创建两个子文件夹作为网站根目录。

[root@yang ~]# mkdir -p /var/www/html/benetcom
[root@yang ~]# mkdir -p /var/www/html/accpcom

[root@yang ~]# echo "

www.benet.com

" > /var/www/html/benetcom/index.html [root@yang ~]# echo "

www.accp.com

" > /var/www/html/benetcom/index.html

3.3、添加虚拟主机配置。

[root@yang ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf 


    ServerAdmin [email protected]
    DocumentRoot "/var/www/html/benetcom"
    ServerName benet.com
    ErrorLog "logs/www.benet.com-error_log"
    CustomLog "logs/www.benet.com-access_log" common
    
    Require all granted
    



    ServerAdmin [email protected]
    DocumentRoot "/var/www/html/accpcom"
    ServerName accp.com
    ErrorLog "logs/www.accp.com-error_log"
    CustomLog "logs/www.accp.com-access_log" common
    
    Require all granted
    

修改httpd.conf配置文件

[root@yang ~]# vim /usr/local/httpd/conf/httpd.conf 

Web网站服务(二)_第7张图片

重启服务使新配置生效

[root@yang ~]# systemctl restart httpd

3.4、在客户机中访问虚拟Web主机。

修改客户机的DNS为服务器的IP地址

Web网站服务(二)_第8张图片

Web网站服务(二)_第9张图片

Web网站服务(二)_第10张图片

3.5、基于IP地址的虚拟主机。

[root@localhost ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf 


    ServerAdmin [email protected]
    DocumentRoot "/var/www/html/benetcom"
    ServerName benet.com
    ErrorLog "logs/www.benet.com-error_log"
    CustomLog "logs/www.benet.com-access_log" common
    
    Require all granted
    



    ServerAdmin [email protected]
    DocumentRoot "/var/www/html/accpcom"
    ServerName accp.com
    ErrorLog "logs/www.accp.com-error_log"
    CustomLog "logs/www.accp.com-access_log" common
    
    Require all granted
    


[root@localhost ~]# systemctl restart httpd.service  //重启服务

Web网站服务(二)_第11张图片

5.4、基于端口的虚拟主机。


    ServerAdmin [email protected]
    DocumentRoot "/var/www/html/benetcom"
    ServerName benet.com
    ErrorLog "logs/www.benet.com-error_log"
    CustomLog "logs/www.benet.com-access_log" common
    
    Require all granted
    



    ServerAdmin [email protected]
    DocumentRoot "/var/www/html/accpcom"
    ServerName accp.com
    ErrorLog "logs/www.accp.com-error_log"
    CustomLog "logs/www.accp.com-access_log" common
    
    Require all granted
    


Listen 8001
Listen 8000

[root@localhost ~]# systemctl restart httpd.service  //重启服务

Web网站服务(二)_第12张图片

你可能感兴趣的:(Linux高级管理,linux)