Как предотвратить ложные срабатывания mod_evasive при частичной загрузке больших файлов

Как предотвратить ложные срабатывания mod_evasive при частичной загрузке больших файлов

Я получаю много ложных срабатываний, отправленных mod_evasive, установленным на моих серверах Apache. Они всегда происходят при загрузке больших файлов PDF. Когда клиенты загружают PDF с моего сайта, они используют много одновременных подключений, что запускает поведение черного списка в mod_evasive. Есть ли способ исключить PDF из отслеживания mod_evasive? Использую ли я слишком ограничительную конфигурацию? Я понимаю, что каждое развертывание несколько отличается, но я ищу предложения. Я хочу прекратить отправлять 403 при запросах на частичную загрузку.

Вот журнал

[Tue Dec 31 09:47:37 2013] [error] [client 70.180.65.28] client denied by server configuration: /srv/netce/Root/pdfs/catalogs/productid_3078.pdf
70.180.65.28 - - [31/Dec/2013:09:47:37 -0800] "GET /3078/Catalog_MD14.pdf HTTP/1.1" 403 1018 "-" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)"
70.180.65.28 - - [31/Dec/2013:09:47:37 -0800] "GET /3078/Catalog_MD14.pdf HTTP/1.1" 206 2560 "-" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)"
70.180.65.28 - - [31/Dec/2013:09:47:37 -0800] "GET /3078/Catalog_MD14.pdf HTTP/1.1" 206 1024 "-" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)"
70.180.65.28 - - [31/Dec/2013:09:47:37 -0800] "GET /3078/Catalog_MD14.pdf HTTP/1.1" 206 4096 "-" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)"

Вот конфиг mod_evasive

LoadModule evasive20_module modules/mod_evasive20.so
<IfModule mod_evasive20.c>
    DOSHashTableSize    3097
    DOSPageCount        5
    DOSSiteCount        50
    DOSPageInterval     1
    DOSSiteInterval     1
    DOSBlockingPeriod   10
    DOSEmailNotify      [email protected]
    DOSLogDir           "/var/www"
    DOSWhitelist   127.0.0.1
    DOSWhitelist   192.168.*
</IfModule>

Любая помощь будет оценена по достоинству.

решение1

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

<LocationMatch "\.pdf$">
 Header unset Accept-Ranges
</LocationMatch>

Связанный контент