在 CentOS 上通过 Apache 限制访问 IP,常用做法是在 Apache 配置或 .htaccess 中使用 Require 指令(Apache 2.4)。下面按常见场景说明。
编辑站点配置(如 /etc/httpd/conf.d/your-site.conf):
<Directory "/var/www/html">
Require ip 192.168.1.100
Require ip 10.0.0.0/24
</Directory>
✅ 以上表示 只允许 这些 IP 访问。
<Directory "/var/www/html">
Require all granted
Require not ip 192.168.1.200
Require not ip 203.0.113.0/24
</Directory>
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/html
<Directory "/var/www/html">
Require ip 192.168.1.0/24
</Directory>
</VirtualHost>
确保 Apache 允许 .htaccess:
<Directory "/var/www/html">
AllowOverride All
</Directory>
然后创建 /var/www/html/.htaccess:
Require ip 192.168.1.100
修改后重启 Apache:
systemctl restart httpd
Order Deny,Allow
Deny from all
Allow from 192.168.1.100
Require ip 127.0.0.1
Require ip 192.168.0.0/16
Require ip 10.0.0.0/8
systemctl restart httpdsetenforce 0
firewalld如果你能告诉我:
我可以给你更精确的配置。