Web网站服务2.1

2.1.httpd服务的访问控制

  • 为了跟多的控制对网站资源的访问,可以为特定的网站目录添加访问授权
    • 2.1.1客户机地址受限
    • 通过Require配置项,可以根据主机的主机名或者IP地址来决定是否允许客户机访问。在httpd服务器的主配置文件的,,配置段中均可以使用Require配置项来空竹客户端的访问。使用Require配置项时,需要设置客户机地址以构成完整的限制策略,地址的形式可以是IP地址,网络地址,主机名和域名,使用名称“all”表示任意地址。
    • 格式如下:
    • Require   all   granted:表示允许所有主机访问
      • 配置如下
      • 通常情况下,网站服务器对所有客户机开放的,网页文档目录并未做任何限制,使用Require   all   granted策略,允许所有客户机访问
      • Require    [not]     ip   :表述允许或指定IP地址或网段访问
      • Require   【not】   host   <主机名或域名列表>:表示允许或者拒绝指定主机或域访问
      • Require   local:表示仅允许本地主机访问
      • Require   all   denied:表示拒绝所有主机访问

        • 定义限制策略是,多个不带not的Require配置语句之间是或的干系,任意一条Require配置语句满足条件均可以访问。若出现了不带not的Require配置语句,又出现了带not的Require配置语句,则语句之间是与的关系,即同时满足所有Require配置语句才可以访问
        • 如仅允许173.17.17.173的主机访问

          •  
          • 反之,需要使用仅拒绝的限制策略时,灵活使用Require与Require   not配置语句设置拒绝策略,只禁止一部分主机访问。在使用not禁止访问时要将其于    容器中,并在容器中指定相应的限制策略
            • 列如:禁止网段192.168.0.0/24,192.168.1.0/24的主机访问,允许其他主机访问

      Web网站服务2.1_第1张图片

       

            • 当未被授权的客户机访问网站目录时,将会被拒绝访问。不同的浏览器,拒绝的消息可能会略有差异.
            • 列如:Edge浏览器
            • Web网站服务2.1_第2张图片 

      • httpd服务支持摘要认证和基本认证。基本认证是httpd服务的基本功能,摘要认证需要在编译之前添加“--enable-auth-digest”,并不是所有浏览器都支持摘要认证
        • 1.创建用户认证数据文件
          • httpd的基本认证通过校验用户名,密码来判断是否允许用户访问,授权访问的的用户账号要先建立并保存在固定的数据文件中
          • 使用htpasswd工具指定用户数据文件位置,添加-c新建此文件
          • Web网站服务2.1_第3张图片

           

      • 基于用户的访问控制包含认证和授权两个过程,是Apache允许指定用户使用用户名和密码访问特定资源的一种方式。认证指识别用户身份的过程,授权指允许特定用户访问特定目录区域的过程

      • 若无-c选项则表示指定的用户数据文件以存在,用于添加新的用户或者修改现有用户的密码

        列如:向.awspwd数据文件中添加一个新用户tsengyia时

        Web网站服务2.1_第4张图片

      • 2.添加用户授权配置
        • 列如:允许.awspwd数据文件中的任一用户访问网页
        • 授权用户账号,需要修改httpd.conf配置文件,在特定的目录区域中添加授权配置,启用基本认证设置允许那些用户访问。

      Web网站服务2.1_第5张图片
    • 上述配置内容中,相关配置项含义
      • 注意:用户访问授权与主机访问控制同时设置时,设置的主机访问控制优先生效
      • Require   Valid-user:要求只有认证文件中的合法用户才能访问。若授权给单个用户,可指定用户名
      • AuthUserFile:设置用于保存用户账号,密码的认证文件路径
      • AuthType:设置认证的类型,Basic表示基本认证
      • AuthName:定义受保护的领域名称,将内容在浏览器弹出的认证对话框中显示

     

你可能感兴趣的:(服务器,网络,servlet)