NginxでUserAgentを判定してアクセス拒否($http_user_agent)
2013年7月19日
ログを見ていると謎のbotが結構な勢いでアクセスしてきてるんですが、検索サイトとか登録したサイトではないようなので、アクセスを拒否したいと思います。
ログを確認したところ、特定のUserAgent(通常のブラウザではない)ではないようなので、下記を追加。
server { # 色々設定 # 追加 ------ if ( $http_user_agent ~* (hogebot|foobot) ) { return 403; } # ---------- # 色々設定 }
これでUserAgentに「hogebot」か「foobot」が含まれている場合は、403を返します。
if条件の「~*」は、大文字小文字を区別しない条件です。
大文字小文字を区別する場合は「~」のみで。
また、完全一致の場合は「=」にします。