Запрет агента пользователя в apache, который использует mod_proxy

Я хочу запретить веб-сканерам использовать сайт apache, настроенный для пересылки всех запросов на ProxyPass. Я пробовал директиву BrowserMatchNoCase, чтобы установить переменную среды block_spider. Когда я изменяю свой пользовательский агент в своем веб-браузере на маскирующийся под поискового бота, он все равно дает мне доступ к сайту.

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

1 ответ

Ну, это неудобно. Я продолжал думать, что порядок отрицать, разрешить означал, что список обрабатывался как правило ACL или брандмауэра, хотя на самом деле это не так. Последнее правило: "Разрешить всем" отвергает все, что я отрицал. Правильный конфиг это:

    BrowserMatchNoCase "^bingbot" block_spider
    BrowserMatchNoCase "^msnbot" block_spider
    <Proxy *>
      Order Allow,Deny
      Allow from all
      Deny from env=block_spider
    </Proxy>
Другие вопросы по тегам