动态更新Apache配置“允许从IP”而无需重启/重新加载?

时间:2011-01-13 05:02:53

标签: apache restart

我的目标是仅允许访问Apache 2.2转发代理到登录用户的IP,同时拒绝所有其他IP。

在代理虚拟主机中,我成功地包含了一个“允许来自”文件,每次用户登录或退出站点时都会动态重写(在删除登录的IP时添加登录用户的IP) - 用户)。但是,这需要Apache的正常重启/重新加载才能生效,并且我希望能够提高性能...因为当用户登录并传输到主页面时,偶尔Apache就是正确的重启过程中,发出“忙”警告。

我想我可以延迟Apache的优雅重启一两秒来缓解初始登录的压力,但是如果有办法完全避免重启,我真的很感激了解它。谢谢!

1 个答案:

答案 0 :(得分:11)

  

然而,这需要优雅   重新启动/重新加载Apache   效果,

请不要这样做。这不是解决方案。

使用Apache的mod_rewrite(RewriteModule)中的RewriteMap指令来实现基于动态文件的IP黑名单/白名单。

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