CentOS 7安装部署Apache网站后配置详解

在一台CentOS 7上搭建Apache网站后,一般都是允许所有人访问的,那么可能会有一些特殊情况,需要对访问网站的人进行限制,出于这种情况,Apache可以通过Require配置项,来对客户端进行一些访问限制,可以基于IP地址、网段、主机名或域名。使用名称“all”时表示任意地址。

1、客户机地址限制:

限制策略的常用格式有下面几种:

  • Require all granted:表示允许所有主机访问(也是默认的);
  • Require all denied:表示拒绝所有主机访问;
  • Require local:表示仅允许本地主机访问;
  • Require [not] host <主机名或域名列表>:表示仅允许或拒绝指定主机或域名访问;
  • Require [not] ip <地址或网段列表>:表示仅允许或拒绝指定IP地址或网段访问;

定义限制策略时,多个不带not的require配置语句之间是或的关系,就是满足任意一条require配置语句就可以访问;

若即有不带not的require配置语句,又出现了带not的require配置语句,则语句之间是与的关系,即同时满足所有require配置语句才可访问。

来吧,举个栗子(只要更改了服务的配置文件,必须重启服务,才可生效):

做一个策略,仅允许ip地址为192.168.1.2的主机能够访问/usr/local/httpd/htdocs网页目录下的内容,则策略如下(进入网站主配置文件httpd.conf后,在末行模式下输入:/Directory,按n查找到相应的位置):

<Directory "/usr/local/httpd/htdocs">
    ................   #省略部分内容
    Require ip 192.168.1.2           #仅允许192.168.1.2的主机访问网站服务
</Directory>

OK了,现在只有上面这个1.2的ip地址可以访问该网站了。

那么,现在换一个策略,禁止192.168.1.0网段的主机不能访问网站,但是别的网段的主机都可访问,策略如下:

<Directory "/usr/local/httpd/htdocs">
    ................   #省略部分内容
   <RequireAll>
   Require   all  granted                      #允许所有主机访问
     Require  not  ip  192.168.1.0/24                      #但1.0网段不可访问
     </RequireAll>
</Directory>

在上面的配置中,需要注意的是只有访问规则中出现了not语句,那么必须把规则放在 <RequireAll> </RequireAll>标签中。

2、用户授权限制:

基于用户的访问控制包含认证和授权两个过程,httpd服务器支持使用摘要认证(Digest)和基本认证(Basic)两种方式。使用摘要认证的话需要在编译http之前添加“–enable-auth-digest”选项,但并不是所有的浏览器都支持摘要认证,所以不推荐使用;而基本认证是httpd服务的基本功能,不需要预先配置特别的选项。

这里就写一下基本认证方式吧

1、创建用户认证数据文件:

[root@localhost httpd]# cd /usr/local/httpd/                    #切换至网站安装根目录
[root@localhost httpd]# bin/htpasswd -c /usr/local/httpd/conf/.aaa webadmin              #使用
htpasswd工具创建用户,该用户与系统用户无关,.aaa文件以.开头,表示为隐藏目录,该
目录默认不存在,所以要加-c选项,在以后需要添加用户时,不能加-c选项,
否则会覆盖原来的内容
New password:                                         #输入密码
Re-type new password:                             #确认密码
Adding password for user webadmin                             #提示添加成功

可以确认用户是否添加:


[root@localhost httpd]# cat conf/.aaa
webadmin:$apr1$YCIyEmlx$R57m0/9Tc/SbZLsLiAGev/                    #用户webadmin的信息

2、添加用户授权配置:

[root@localhost httpd]# vim /usr/local/httpd/conf/httpd.conf             #编辑网站主配置文件

         .............

<Directory "/usr/local/httpd/htdocs">
    authname "bbb"                 #定义受保护的领域名称
    authtype basic                   #设置认证类型,basic表示基本认证
    authuserfile /usr/local/httpd/conf/.aaa               #设置用于保存用户账号、密码的认证文件路径
    require valid-user                          #要求只有认证文件中的合法用户才可访问。
        其中valid-user表示所有合法用户,若只授权给单个用户,可改为指定的用户名,
        如webadmin。

需要注意的是,用户访问授权与主机访问控制同时设置时,设置的主机访问控制优先生效。所以在进行用户授权限制时,需要删除掉其中的require语句。要不然,用户访问授权不会生效。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/220231.html<

(0)
管理的头像管理
上一篇2025-04-14 11:39
下一篇 2025-04-14 11:41

相关推荐

  • 云服务器和云虚拟主机怎么选?云服务器和虚拟主机区别

    云服务器适合业务增长快、需弹性扩展的场景,而云虚拟主机适合预算有限、技术门槛低的小型静态网站或测试环境,二者核心区别在于资源独享性与运维复杂度,核心差异解析:从底层架构到使用体验很多人容易混淆这两者,觉得它们都是“买空间建站”,它们的底层逻辑完全不同,云服务器(ECS)就像是你租了一整栋别墅,水电网络独立,你想……

    2026-06-29
    0
  • 赣州智慧旅游招聘是真的吗?赣州旅游人才招聘信息

    中级岗位(3-5年经验)月薪范围通常在6000-10000元,这类岗位需要独立负责项目模块,如独立运营一个抖音账号,或维护一个景区小程序的功能迭代,具备成功案例的候选人议价能力较强,高级岗位(5年以上经验)月薪范围通常在10000-20000元,部分核心管理岗可达更高,这类人才需要具备战略规划能力,如制定整个景……

    2026-06-29
    0
  • 赣州智能物联网车位锁如何管理?智能车位锁管理系统多少钱

    赣州智能物联网车位锁管理的核心在于通过云端平台实现远程控锁、状态实时监控及自动计费,彻底解决传统车位“被占难管”与“找位难”的痛点,在赣州这样的城市,随着机动车保有量的持续增长,老旧小区、商业综合体以及私人固定车位的资源矛盾日益凸显,传统的机械地锁或简易遥控锁,不仅操作繁琐,更无法实现数据化管理,引入智能物联网……

    2026-06-29
    0
  • 赣州智能消防栓好用吗,智能消防栓多少钱一个

    赣州智能消防栓通过物联网技术实现实时监测与远程报警,能显著降低火灾响应时间并提升城市消防安全管理水平,是目前智慧城市建设中不可或缺的基础设施,赣州智能消防栓的核心价值与应用场景传统消防栓往往存在“看不见、摸不着、用不了”的痛点,在赣州这样地形复杂、老城区与新城区并存的区域,传统设施的管理难度极大,智能消防栓的出……

    2026-06-29
    0
  • 云服务器和物理机到底有啥区别?

    云服务器本质上是虚拟化资源池中的弹性实例,而传统物理服务器是独占的硬件实体,前者胜在弹性与运维便捷,后者强在物理隔离与性能稳定,具体选择取决于业务对成本、扩展性及安全合规的权衡,很多人初次接触服务器时,容易把“云服务器”和“传统物理服务器”混为一谈,觉得它们都是用来跑网站或存数据的盒子,这两者的底层逻辑完全不同……

    2026-06-29
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注