Apache动态白名单

时间:2013-11-12 14:48:44

标签: apache web apache2 www-authenticate

我正在寻找动态白名单的解决方案,所以我不需要重启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制作动态白名单?

1 个答案:

答案 0 :(得分:1)

使用重写地图很好。有一种相反的方式,我发布了here

您可以稍微简化规则:

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”可以是任何内容,但除了“黑色”之外,您还需要将白名单IP地址映射到的内容。 whitelist.txt文件将由apache缓存,当您更改它时,apache将自动重新加载并重新分析该文件。这样,您就不需要重启apache了。