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

Bri*_*ian 2 apache restart

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

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

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

Sar*_*fan 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]
Run Code Online (Sandbox Code Playgroud)

  • 有效地,当文件的mtime改变时,刷新rewriteMap高速缓存. (3认同)