2011-01-13 3 views
2

私の目標は、他のすべてのIPを拒否しながら、ログインしているユーザーのIPだけにApache 2.2転送プロキシへのアクセスを許可することです。Apacheの設定を「IPから許可」を動的に更新し、再起動/再読み込みを行わないでください。

プロキシ仮想ホストでは、ユーザーがログインまたはログアウトするたびに動的に書き換えられる「許可」ファイルが正常に追加されました(ログインしたユーザーのIPを追加して、ログアウトしたユーザー)。しかし、これではApacheをうまく再起動してから再起動する必要があります。できるだけパフォーマンスを向上させたいのですが...ユーザーがログインしてメインページに転送されるため、Apacheが再起動の途中で「ビジー」警告を出します。

私は、最初のログイン時のストレスを緩和するために、Apacheのグレースフル・リスタートを2〜3秒遅らせることができると思いますが、再起動を避ける方法があれば、それ。ありがとう!

答えて

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] 
+3

+1ファイルのmtimeが変更されると、rewriteMapキャッシュが効果的にフラッシュされます。 – regilero

+0

+1すばらしい答えですが、whitelist.txtをDBに置き換えることはできますか? @Sarwar Erfan – Networker

関連する問題