Apache2.4 中基于目录的 IP 白名单

Whitelist IP in Apache2.4 based on Directory

提问人:Pranjal Pokharel 提问时间:7/10/2023 最后编辑:Pranjal Pokharel 更新时间:7/10/2023 访问量:37

问:

我一直在尝试在 apache 中实现白名单,我想允许 /xyz uri 中的所有请求向公众开放,但限制对 IP 上所有其他 uri 的访问。这是我一直在尝试的配置,但不幸的是它不起作用 Apache 版本 2.4.41

RemoteIPHeader X-Forwarded-For
<VirtualHost *:80>
        ServerAdmin 
        ServerName 


        RewriteEngine on
        RewriteCond %{SERVER_PORT} !^443$
        RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L]
</VirtualHost>

<VirtualHost *:443>
        ServerAdmin 
        ServerName

        SSLEngine ON
        SSLCertificateFile /etc/ssl/cert/cert.pem
        SSLCertificateKeyFile /etc/ssl/private/key.pem

        DocumentRoot /var/www/abc


        <Directory /var/www/abc>
                Options -Indexes +FollowSymLinks +MultiViews
                AllowOverride all
                RedirectMatch 404 /\.git
        </Directory>
<Location /xyz>
Require all granted
</Location>
<Location />
Require ip ****
</Location>

        ErrorLog /var/log/apache2/abc.de-error.log
        LogLevel warn
        CustomLog /var/log/apache2/abc-access.log combined
</VirtualHost>

我尝试使用位置选项,但是一旦我在 / path 中设置了白名单,它就会应用于所有目录,甚至不授予对 /xyz uri 的访问权限。

此外,/xyz uri 还从 /abc/*** 路径加载许多资产

我已经尝试了不同网站上可用的大多数解决方案,但似乎没有任何效果

阿帕奇 apache2

评论


答: 暂无答案