Webサイトを公開している方は、どこからアクセスが来ているか、検索ワードは何なのか、おかしなアクセスは無いか等を調べる為にアクセスログをチェックしていると思います。
ログを見ていると、中にはアクセス拒否したいクライアントが有ります。
そんなとき、Apacheでサイトを公開しているなら.htaccessファイルを作成し(Order,Allow,Deny)というアクセス制限機能を使うと便利ですが、AJPを使用してTomcat連携しているWebアプリケーションの場合は.htaccessは使えません。
Tomcatで動かしているWebアプリケーションにもApacheのアクセス制限機能を使いたい場合は、以下のようにバーチャルホストの設定中に記述します。
※httpd.conf <VirtualHost *:80> ServerAdmin webmaster@example.com ServerName example.com <IfModule mod_proxy_ajp.c> <Location /> SetEnvIf User-Agent "アクセス拒否UA" deny Order allow,deny Allow from all Deny from env=deny ProxyPass ajp://localhost:8009/ </Location> </IfModule> </VirtualHost>
このようにajpのプロキシ設定中に.htaccessで通常記述するように書けばOKです。
上記では、8~11行に特定のUA(ユーザエージェント、User-Agent)に対するアクセス制限の記述を追加しています。
example.comのアクセスをApacheが受け取ると、通常はバーチャルホストの設定でTomcatへajp連携されますが、連携前にApache側で、User-Agent “アクセス拒否UA”であればアクセス拒否してくれるようになります。