2011-01-13 41 views
2

我的目標是隻允許訪問Apache 2.2轉發代理到登錄用戶的IP,同時拒絕所有其他IP。動態更新Apache配置「允許從IP」沒有重新啓動/重新加載?

在代理虛擬主機中,我成功地包含了一個「allow from」文件,每次用戶登錄或退出該站點時都會動態地重寫該文件(添加登錄用戶的IP,同時刪除IP登出的用戶)。但是,這需要Apache的正常重新啓動/重新加載才能生效,並且我希望能夠提高性能,因爲當用戶登錄並傳輸到主頁面時,Apache偶爾會在重啓的中間併發出「忙碌」警告。

我想我可以推遲一兩次Apache的正常重啓以減輕初始登錄時的壓力,但是如果有一種方法可以完全避免重啓,我會非常感激它。謝謝!

回答

11

然而,這需要Apache的優雅 重啓/重裝採取 效果,

請不要這樣做。這不是一個解決方案。

使用RewriteMap指令從Apache的mod_rewrite(RewriteModule)實現基於動態文件的IP黑名單/白名單。

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

+1實際上,當文件的mtime更改時刷新rewriteMap緩存。 – regilero 2011-01-13 20:07:45

相關問題