ubuntu

如何在Ubuntu中配置Apache访问控制

小樊
42
2025-11-25 07:23:49
栏目: 智能运维

Ubuntu 中 Apache 访问控制配置指南

一 准备与通用原则

二 基于 IP 的访问控制

<Directory "/var/www/html/admin">
    Require ip 203.0.113.10 198.51.100.0/24
</Directory>
<Directory "/var/www/html">
    Require all granted
    Require not ip 203.0.113.0/24
</Directory>
<Directory "/var/www/html/admin">
    Order deny,allow
    Deny from all
    Allow from 203.0.113.10 198.51.100.0/24
</Directory>

三 基于用户密码的身份认证

sudo a2enmod auth_basic
sudo a2enmod authn_file
sudo htpasswd -c /etc/apache2/.htpasswd alice
sudo htpasswd /etc/apache2/.htpasswd bob
<Directory "/var/www/html/admin">
    AuthType Basic
    AuthName "Restricted Area"
    AuthUserFile /etc/apache2/.htpasswd
    Require valid-user
</Directory>
# 在 /var/www/html/admin/.htaccess
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user

四 组合策略与 .htaccess 使用

<Directory "/var/www/html/admin">
    # IP 白名单
    Require ip 203.0.113.10 198.51.100.0/24

    # 同时要求口令
    AuthType Basic
    AuthName "Restricted Area"
    AuthUserFile /etc/apache2/.htpasswd
    Require valid-user
</Directory>

五 生效验证与常见问题

sudo apache2ctl configtest    # 语法检查
sudo systemctl restart apache2  # 使配置生效

0
看了该问题的人还看了