web-dev-qa-db-ja.com

mod_proxyを使用するApacheでのユーザーエージェントの拒否

すべてのリクエストをProxyPassに転送するように構成されたApacheサイトをWebクローラーが使用しないようにしたい。 BrowserMatchNoCaseディレクティブを試して、環境変数block_spiderを設定しました。 Webブラウザのユーザーエージェントを検索ボットになりすますように変更しても、サイトへのアクセスは許可されます。

BrowserMatchNoCase "^bingbot" block_spider
BrowserMatchNoCase "^msnbot" block_spider
    <Proxy *>
      Order deny,allow
      Deny from env=block_spider
      Allow from all
    </Proxy>
RewriteEngine On
RewriteOptions Inherit
2
Eric

まあ、これは恥ずかしいです。私は注文が拒否されると考え続けました。許可とは、リストが実際にはそうではないのに、ACLまたはファイアウォールルールのように扱われることを意味します。 「すべてから許可する」という最後のルールは、私が拒否したすべてを無効にしました。正しい構成は次のとおりです。

    BrowserMatchNoCase "^bingbot" block_spider
    BrowserMatchNoCase "^msnbot" block_spider
    <Proxy *>
      Order Allow,Deny
      Allow from all
      Deny from env=block_spider
    </Proxy>
1
Eric