apache 2.4+ 中限制客户端访问须用 require 指令配合 directory/location/files 等容器,禁止直接置于主配置顶层;支持按 ip(含 cidr、ipv6)、域名(需 hostnamelookups on)控制,拒绝规则必须嵌套在 内并与 allow granted 配合使用。
在 apache 2.4+ 中,限制特定客户端访问主要靠 require 指令实现,它必须配合 <directory></directory>、<location></location>、<files></files> 等容器使用,不能单独出现在主配置文件顶层。
明确作用范围:先定位到正确的配置块
你需要编辑主配置文件(如 /etc/httpd/conf/httpd.conf 或 /etc/apache2/apache2.conf),或站点配置文件(如 /etc/httpd/conf.d/vhost.conf)。找到你要控制的目录段,例如:
# 这里添加 Require 规则
允许指定IP或网段访问
只放行特定来源,其他一律拒绝。常用写法:
-
单个IP:
Require ip 192.168.1.100 -
多个IP(空格分隔):
Require ip 192.168.1.10 192.168.1.20 10.0.0.5 -
整个子网(CIDR格式):
Require ip 192.168.5.0/24或Require ip 10.10.0.0/16 -
IPv6地址:
Require ip 2001:db8::1或Require ip 2001:db8::/64
拒绝指定IP或网段访问
注意:直接写 Require not ip ... 是无效的,必须包裹在 <requireall></requireall> 容器中,并搭配至少一条“允许”规则,否则默认全部拒绝。
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
正确做法是「先放行大范围,再排除个别」:
- 允许所有,但禁止两个IP:
Require all granted
Require not ip 203.0.113.5 198.51.100.12 - 只禁止一个网段,其余照常:
Require all granted
Require not ip 192.168.99.0/24
按域名或主机名限制(需DNS反向解析支持)
不推荐用于生产环境,因依赖 DNS 可靠性且有性能开销。仅作了解:
- 允许某域名访问:
Require host example.com - 允许一组域名:
Require host mail.google.com github.com - 拒绝某主机:
Require all granted
Require not host badbot.example.net
注意:Apache 默认不开启 DNS 反查,若要生效,需确保 HostnameLookups On 已启用(通常不建议开启)。










