<-
Apache > HTTP Server > 文档 > 版本 2.4 > 模块

Apache 模块 mod_authz_host

可用语言:  en  |  fr 

描述基于主机(名称或 IP 地址)的组授权
状态基础
模块标识符authz_host_module
源文件mod_authz_host.c
兼容性forward-dns 提供程序在 2.4.19 中添加

摘要

mod_authz_host 实现的授权提供程序使用 Require 指令注册。该指令可以在 <Directory><Files><Location> 部分以及 .htaccess 文件中引用,以控制对服务器特定部分的访问。可以根据客户端主机名或 IP 地址控制访问。

通常,访问限制指令适用于所有访问方法(GETPUTPOST 等)。这在大多数情况下是期望的行为。但是,可以通过将指令包含在 <Limit> 部分中,来限制某些方法,同时保持其他方法不受限制。

Support Apache!

主题

指令

此模块不提供任何指令。

错误修复清单

另请参阅

top

Require 指令

Apache 的 Require 指令在授权阶段使用,以确保用户被允许或拒绝访问资源。mod_authz_host 通过 iphostforward-dnslocal 扩展了授权类型。也可以使用其他授权类型,但可能需要加载额外的授权模块。

这些授权提供程序会影响哪些主机可以访问服务器的某个区域。可以通过主机名、IP 地址或 IP 地址范围控制访问。

从 v2.4.8 开始,表达式 在主机 require 指令中受支持。

Require ip

ip 提供程序允许根据远程客户端的 IP 地址控制对服务器的访问。当指定 Require ip ip-address 时,如果 IP 地址匹配,则请求被允许访问。

完整的 IP 地址

Require ip 10.1.2.3
Require ip 192.168.1.104 192.168.1.205

允许访问的主机的 IP 地址

部分 IP 地址

Require ip 10.1
Require ip 10 172.20 192.168.2

IP 地址的前 1 到 3 个字节,用于子网限制。

网络/网络掩码对

Require ip 10.1.0.0/255.255.0.0

网络 a.b.c.d 和网络掩码 w.x.y.z。用于更细粒度的子网限制。

网络/nnn CIDR 规范

Require ip 10.1.0.0/16

与上一情况类似,只是网络掩码由 nnn 个高位 1 位组成。

请注意,上面最后三个示例匹配完全相同的宿主集。

IPv6 地址和 IPv6 子网可以按如下所示指定

Require ip 2001:db8::a00:20ff:fea7:ccea
Require ip 2001:db8:1:1::a
Require ip 2001:db8:2:1::/64
Require ip 2001:db8:3::/48

注意:由于 IP 地址在启动时解析,因此表达式不会在请求时进行评估。

Require host

host 提供程序允许根据远程客户端的主机名控制对服务器的访问。当指定 Require host host-name 时,如果主机名匹配,则请求被允许访问。

(部分)域名

Require host example.org
Require host .net example.edu

名称匹配或以该字符串结尾的主机被允许访问。只匹配完整的组件,因此上面的示例将匹配 foo.example.org,但不会匹配 fooexample.org。此配置将导致 Apache 对客户端 IP 地址执行双重反向 DNS 查找,无论 HostnameLookups 指令的设置如何。它将对 IP 地址执行反向 DNS 查找以找到关联的主机名,然后对主机名执行正向查找以确保它与原始 IP 地址匹配。只有当正向和反向 DNS 一致且主机名匹配时,才允许访问。

Require forward-dns

forward-dns 提供程序允许根据简单主机名控制对服务器的访问。当指定 Require forward-dns host-name 时,与 host-name 相对应的所有 IP 地址都被允许访问。

host 提供程序相比,此提供程序不依赖于反向 DNS 查找:它只是查询 DNS 以获取主机名,如果客户端的 IP 匹配,则允许访问。因此,它只适用于可以在 DNS 中解析的完整主机名,而不是部分域名。但是,由于没有使用反向 DNS,并且 DNS 查找在请求处理时(而不是启动时)发生,因此它将适用于使用动态 DNS 服务的客户端。

Require forward-dns dynamic.example.org

从名称 dynamic.example.org 解析其 IP 的客户端将被授予访问权限。

forward-dns 提供程序在 2.4.19 中添加。

Require local

如果以下任何条件为真,则 local 提供程序允许访问服务器

这提供了一种方便的方法来匹配源自本地主机的连接

Require local

安全提示

如果您将内容代理到您的服务器,您需要知道客户端地址将是您的代理服务器的地址,而不是客户端的地址,因此在这种情况下使用 Require 指令可能不会达到您的预期效果。请参阅 mod_remoteip 以了解解决此问题的可能方法之一。

可用语言:  en  |  fr 

top

评论

注意
这不是问答部分。此处放置的评论应指向有关改进文档或服务器的建议,如果它们被实施或被认为无效/偏离主题,则可能会被我们的版主删除。有关如何管理 Apache HTTP Server 的问题应发送到我们的 IRC 频道 #httpd(在 Libera.chat 上)或发送到我们的 邮件列表