在 Ubuntu 上使用 Apache2 限制访问,常见有几种方式,按使用场景给你说明:
编辑你的站点配置(如 000-default.conf 或自定义 conf):
sudo nano /etc/apache2/sites-available/000-default.conf
示例:只允许 192.168.1.0/24 访问
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride None
Require ip 192.168.1.0/24
</Directory>
禁止某个 IP:
<Directory /var/www/html>
Require all granted
Require not ip 10.0.0.5
</Directory>
只允许本机:
Require local
sudo systemctl restart apache2
<Directory /var/www/html/admin>
Require ip 203.0.113.10
</Directory>
.htaccess 限制(适合不能改主配置).htaccess<Directory /var/www/html>
AllowOverride All
</Directory>
.htaccessnano /var/www/html/.htaccess
内容示例:
Require ip 192.168.1.100
或修改后重启 Apache。
sudo htpasswd -c /etc/apache2/.htpasswd user1
<Directory /var/www/html/private>
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>
<Directory /var/www/html>
Require all denied
</Directory>
Apache 层限制之外,也可用 ufw:
sudo ufw allow from 192.168.1.0/24 to any port 80
Require,不要用 Allow/Deny/Order(那是 2.2)apache2ctl configtest如果你能说清楚:
我可以给你更精确的配置示例。