1

我正在寻找动态白名单的解决方案,所以我不需要重新启动 apache2 服务。我试图做这样的事情:

order Deny,Allow
include conf/IPList.conf
Allow from all

但是这个解决方案对我不起作用。我也试过这个,但我不确定我的 whitelist.txt 是否正确。它应该是什么样子?

## WHITELIST IPS ##
RewriteMap ipslist txt:/path/to/whitelist.txt
RewriteCond %{REMOTE_ADDR} ^(.*)$
RewriteCond ${ipslist:%1|black} ^black$ [NC]
RewriteRule (.*) - [F]

或者也许还有另一种更好的方法来为 Apache2 制作动态白名单?

4

1 回答 1

1

使用重写映射很好。有一种相反的方法可以做到这一点,我已经在这里发布过。

您可以稍微简化一下规则:

RewriteMap ipslist txt:/path/to/whitelist.txt

RewriteCond ${ipslist:%{REMOTE_ADDR}|black} ^black$ [NC]
RewriteRule ^ - [F]

whitelist.txt 文件需要如下所示:

1.2.3.4 ok
2.3.4.5 ok

等等

“ok”可以是任何东西,但除了“black”之外,您需要列入白名单的 IP 地址映射到的东西。whitelist.txt 文件将被 apache 缓存,当你改变它时,apache 会自动重新加载并重新解析文件。这样,您无需重新启动 apache。

于 2013-11-12T19:12:52.873 回答